Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-97403

Qt6 Multimedia: Audio Track Switching in Network Media Files is Not Smooth

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • P2: Important
    • 6.2
    • 6.2.0
    • Multimedia
    • None
    • Android
    • 2021wk42POAndroid&Mobile

    Description

      Kit: Android Qt 6.2.0 Clang armeabi-v7a

      Video Sourcehttps://bhaart.s3.ap-south-1.amazonaws.com/sri_ramachandra_kripalu.mkv

      Goal: The above video contains multiple audio tracks.   I wanted the user to be able to switch among the various audio tracks available, while the video is playing. I used the code provided in [QML Media Player Example|https://doc.qt.io/qt-6/qtmultimedia-multimedia-video-mediaplayer-example.html] as reference. 

      Observations

       The audio track switch for a local media (on my phone) worked very well. The audio switch was almost instantaneous 

       The user experience for the audio track switch for a remote media (e.g. https://bhaart.s3.ap-south-1.amazonaws.com/sri_ramachandra_kripalu.mkv) was not good. 

      Steps to Reproduce: 

       1. Start playing the video via mediaPlayer.play()

       2. Say when the "position" of the video is x seconds, perform the audio track switch. 

      Noticed Behavior

      • The video continues to play with the original audio track for x+ ~5 seconds. 
      • Then both the video and audio freezes for ~5 more seconds.
      • Then the audio unfreezes and the new audio track starts playing  but from x seconds (not x+5, the current position). The video is still in frozen state while the new audio is playing.
      • At x+5, the video also unfreezes and continues to play synced with the new audio.    

      The behavior described in red leads to poor user experience. 

      Expected Behavior

      Option 1:  As soon as the audio track switch is done by the user, both the audio/video freezes (spinning) and resume the playback when the new audio track is available. 

      Option 2: After the user switches the audio track, the audio/video continues to play with the original audio track and as soon as the new audio track is avaialble, the audio switches to the new track. There is no spinning here. 

      Option 3: If implementing the above options as part of the framework is not possible, the developers can use the signals (onActiveAudioTrackChanged, for example) to implement the above behaviors. However, the signals related to track-changes are not getting fired in 6.2.0 (QTBUG-97402)

       

      Please let me know if this is not understood/reproducible. Will try to share a video clipping. 

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              samuelmira Samuel Mira
              kmurthyhegde Krishna Hegde
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes