Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. Video element plays video at wrong position on IOS
Forum Updated to NodeBB v4.3 + New Features

Video element plays video at wrong position on IOS

Scheduled Pinned Locked Moved QML and Qt Quick
29 Posts 5 Posters 7.5k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    Jacky2k
    wrote on last edited by
    #15

    How am I supposed to do that? The Widget is part of a layout. setGeometry() has no effect.

    1 Reply Last reply
    0
    • O Offline
      O Offline
      onek24
      wrote on last edited by
      #16

      Sorry, my bad, haven't read the layouts part. Well, in that case: Have you tried positioning it without a layout? Does that work? And have you tried playing with the horizontal and vertical settings of the widget?

      1 Reply Last reply
      0
      • O Offline
        O Offline
        onek24
        wrote on last edited by
        #17

        Sorry, my bad, haven't read the layouts part. Well, in that case: Have you tried positioning it without a layout? Does that work? And have you tried playing with the horizontal and vertical settings of the widget?

        1 Reply Last reply
        0
        • timdayT Offline
          timdayT Offline
          timday
          wrote on last edited by
          #18

          See "QTBUG-42721":https://bugreports.qt-project.org/browse/QTBUG-42721

          I raised this as an issue with iOS video placement (using the QML VideoOutput, but it presumably sits on the same underlying code as the C++ ) a week or so ago which sounds like it's the same as hailong's problem. If it helps identify it's the same thing:

          • It came in with Qt5.3.2; I never saw the problem on 5.3.1.
          • If you rotate the device while the video is playing, it'll move to where you expect it to! (At least until the video ends; if you have it set up to loop, it might move back to the top corner again).
          1 Reply Last reply
          0
          • timdayT Offline
            timdayT Offline
            timday
            wrote on last edited by
            #19

            See "QTBUG-42721":https://bugreports.qt-project.org/browse/QTBUG-42721

            I raised this as an issue with iOS video placement (using the QML VideoOutput, but it presumably sits on the same underlying code as the C++ ) a week or so ago which sounds like it's the same as hailong's problem. If it helps identify it's the same thing:

            • It came in with Qt5.3.2; I never saw the problem on 5.3.1.
            • If you rotate the device while the video is playing, it'll move to where you expect it to! (At least until the video ends; if you have it set up to loop, it might move back to the top corner again).
            1 Reply Last reply
            0
            • J Offline
              J Offline
              Jacky2k
              wrote on last edited by
              #20

              Well, then I guess it is not the same problem as I am using Qt 4.8.5.

              1 Reply Last reply
              0
              • J Offline
                J Offline
                Jacky2k
                wrote on last edited by
                #21

                Well, then I guess it is not the same problem as I am using Qt 4.8.5.

                1 Reply Last reply
                0
                • J Offline
                  J Offline
                  Jacky2k
                  wrote on last edited by
                  #22

                  At least in my case it seems to be a problem of gsteramer and not Qt. I was able to reproduce the problem using gst-launch:
                  @# gst-launch -v videotestsrc ! xvimagesink@
                  When I use ximagesink it works perfectly fine.

                  1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    Jacky2k
                    wrote on last edited by
                    #23

                    At least in my case it seems to be a problem of gsteramer and not Qt. I was able to reproduce the problem using gst-launch:
                    @# gst-launch -v videotestsrc ! xvimagesink@
                    When I use ximagesink it works perfectly fine.

                    1 Reply Last reply
                    0
                    • H Offline
                      H Offline
                      hailong
                      wrote on last edited by
                      #24

                      wow, so many replies on my thread, I feel so happy that more and more people are using Qt for cross-platform app development.

                      I could't not solve my problem on September even if I had done a lot of research on that, so I used one week to learn how to develop for IOS and rewrited the hole app using Obj-C.

                      1 Reply Last reply
                      0
                      • H Offline
                        H Offline
                        hailong
                        wrote on last edited by
                        #25

                        wow, so many replies on my thread, I feel so happy that more and more people are using Qt for cross-platform app development.

                        I could't not solve my problem on September even if I had done a lot of research on that, so I used one week to learn how to develop for IOS and rewrited the hole app using Obj-C.

                        1 Reply Last reply
                        0
                        • J Offline
                          J Offline
                          Jacky2k
                          wrote on last edited by
                          #26

                          :P
                          I already tracked it down to a problem in X server or the kernel.
                          I know that it is caused by a change in the X server but I don't know which change and if this change is ok for newer kernels.

                          1 Reply Last reply
                          0
                          • J Offline
                            J Offline
                            Jacky2k
                            wrote on last edited by
                            #27

                            :P
                            I already tracked it down to a problem in X server or the kernel.
                            I know that it is caused by a change in the X server but I don't know which change and if this change is ok for newer kernels.

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              Marika
                              wrote on last edited by
                              #28

                              I too have this problem. My UI code is all QML and is super simple. I have a video component

                                  Video {
                                      id: myVideo
                                      anchors.fill: parent
                                      anchors.margins: 10
                                      source: mediaFolder.fileUrl(filesList[mediaIndex])
                                  }
                              

                              and a button.

                                  Rectangle {
                                      id: start
                                      anchors.right: parent.right
                                      anchors.verticalCenter: parent.verticalCenter
                                      anchors.margins: 20
                                      width: parent.height * 0.85
                                      height: parent.height * 0.85
                                      color: "blue"
                              
                                      MouseArea {
                                          anchors.fill : parent
                                          onPressed: {
                                              mediaIndex++; myVideo.play();
                                          }
                                      }
                              

                              When you click the button it plays the next video in the mediaFolder.

                              This works as expected on Windows and Android.

                              On iOS i have the random positioning problem described in this forum, which can somewhat be worked around by rotating the device (not nice).

                              What is my bigger problem is settling on a video encoding that works everywhere. These same videos do not play on Mac (either in my QML app or directly from Finder) or Linux (not in my QML app but DO when I launch directly from the file manager.

                              So for now i cant say if the positioning problem is unique to iOS, it could be on Mac and Linux too - i just cant see my video there yet.

                              I had settled on using Handbrakes ipod profile as the most cross platform but alas its back to the drawing board for video format. Has anyone else nailed the absolute cross platform video format?

                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                Marika
                                wrote on last edited by
                                #29

                                I too have this problem. My UI code is all QML and is super simple. I have a video component

                                    Video {
                                        id: myVideo
                                        anchors.fill: parent
                                        anchors.margins: 10
                                        source: mediaFolder.fileUrl(filesList[mediaIndex])
                                    }
                                

                                and a button.

                                    Rectangle {
                                        id: start
                                        anchors.right: parent.right
                                        anchors.verticalCenter: parent.verticalCenter
                                        anchors.margins: 20
                                        width: parent.height * 0.85
                                        height: parent.height * 0.85
                                        color: "blue"
                                
                                        MouseArea {
                                            anchors.fill : parent
                                            onPressed: {
                                                mediaIndex++; myVideo.play();
                                            }
                                        }
                                

                                When you click the button it plays the next video in the mediaFolder.

                                This works as expected on Windows and Android.

                                On iOS i have the random positioning problem described in this forum, which can somewhat be worked around by rotating the device (not nice).

                                What is my bigger problem is settling on a video encoding that works everywhere. These same videos do not play on Mac (either in my QML app or directly from Finder) or Linux (not in my QML app but DO when I launch directly from the file manager.

                                So for now i cant say if the positioning problem is unique to iOS, it could be on Mac and Linux too - i just cant see my video there yet.

                                I had settled on using Handbrakes ipod profile as the most cross platform but alas its back to the drawing board for video format. Has anyone else nailed the absolute cross platform video format?

                                1 Reply Last reply
                                0

                                • Login

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • Users
                                • Groups
                                • Search
                                • Get Qt Extensions
                                • Unsolved