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

[gstreamer] uridecodebin with https source spurious playback failure

    XMLWordPrintable

Details

    • Linux/X11
    • 0fad5b681 (dev), c6cf5bbca (6.7), e578f0af8 (tqtc/lts-6.5)
    • Multimedia wk 17-18, Multimedia wk 19-20

    Description

      we instantiate uridecodebin with ring-buffer-max-size. this can sometimes lead to decoding problems:

      this can be reproduced with gst-launcher:

      ➜  qtmultimedia git:(dev) ✗ GST_DEBUG=2,qtdemux:5,*soup*:5 gst-launch-1.0 uridecodebin uri=https://download.qt.io/learning/videos/media-player-example/Qt_LogoMergeEffect.mp4 ring-buffer-max-size=1024 ! videoconvert ! autovideosink
      Setting pipeline to PAUSED ...
      0:00:00.012840137 22715 0x56db6466fa20 DEBUG              souputils gstsoupelement.c:37:soup_element_init: binding text domain gst-plugins-good-1.0 to locale dir /usr/share/locale
      0:00:00.012966390 22715 0x56db6466fa20 DEBUG                   soup gstsouploader.c:179:gst_soup_load_library: Trying all libsoups
      0:00:00.013972356 22715 0x56db6466fa20 DEBUG                   soup gstsouploader.c:242:gst_soup_load_library: Loaded libsoup-3.0.so.0
      0:00:00.014154994 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:2303:gst_soup_http_src_start:<source> start("https://download.qt.io/learning/videos/media-player-example/Qt_LogoMergeEffect.mp4")
      0:00:00.014180401 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:1155:gst_soup_http_src_session_open:<source> Creating session (can share 1)
      0:00:00.014185864 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:1160:gst_soup_http_src_session_open:<source> Created session 0x56db6467f3d0
      0:00:00.014236918 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:1180:gst_soup_http_src_session_open:<source> Waiting for thread to start...
      0:00:00.014276066 22715 0x56db6466fbb0 DEBUG            souphttpsrc gstsouphttpsrc.c:988:thread_func:<source> thread start
      0:00:00.014338426 22715 0x56db6466fbb0 INFO               souputils gstsouputils.c:85:gst_soup_util_log_setup:<GstSoupSession@0x56db6467f3d0> Not setting up HTTP session logger. Need at least GST_LEVEL_TRACE
      0:00:00.014357323 22715 0x56db6466fbb0 DEBUG            souphttpsrc gstsouphttpsrc.c:1086:_session_ready_cb:<source> thread ready
      0:00:00.014363959 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:1183:gst_soup_http_src_session_open:<source> Soup thread started
      0:00:00.014367706 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:1193:gst_soup_http_src_session_open:<GstSoupSession@0x56db6467f3d0> Sharing session 0x56db6467f3d0
      0:00:00.014372440 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:2366:gst_soup_http_src_set_context:<source> Setting external session 0x56db6467f3d0
      0:00:00.014377893 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:2413:gst_soup_http_src_get_size:<source> get_size() = FALSE
      0:00:00.014382338 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:2459:gst_soup_http_src_do_seek:<source> do_seek(0-18446744073709551615)
      0:00:00.014385767 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:2464:gst_soup_http_src_do_seek:<source> Seek to current read/end position and no seek pending
      Pipeline is PREROLLING ...
      0:00:00.014559951 22715 0x56db6466fa20 WARN               structure gststructure.c:2093:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
      Got context from element 'source': gst.soup.session=context, session=(GstSoupSession)NULL;
      0:00:01.497933557 22715 0x56db6466fbb0 DEBUG            souphttpsrc gstsouphttpsrc.c:1709:gst_soup_http_src_restarted_cb:<source> 302 redirect to "https://mirrors.cloud.tencent.com/qt/learning/videos/media-player-example/Qt_LogoMergeEffect.mp4" (permanent 0)
      0:00:01.526942298 22715 0x56db6466fbb0 INFO             souphttpsrc gstsouphttpsrc.c:1380:gst_soup_http_src_got_headers:<source> got headers
      0:00:01.526994326 22715 0x56db6466fbb0 DEBUG            souphttpsrc gstsouphttpsrc.c:1432:gst_soup_http_src_got_headers:<source> size = 9579049
      0:00:01.527016393 22715 0x56db6466fbb0 DEBUG            souphttpsrc gstsouphttpsrc.c:1518:gst_soup_http_src_got_headers:<source> Content-Type: application/octet-stream
      0:00:01.527054051 22715 0x7a5d24000b70 DEBUG            souphttpsrc gstsouphttpsrc.c:1889:gst_soup_http_src_send_message:<source> Successfully got a reply
      0:00:01.528639869 22715 0x7a5d24000b70 DEBUG            souphttpsrc gstsouphttpsrc.c:2110:gst_soup_http_src_read_buffer:<source> Read 4096 bytes from http input
      0:00:01.528663083 22715 0x7a5d24000b70 DEBUG            souphttpsrc gstsouphttpsrc.c:2276:gst_soup_http_src_create:<source> Returning 0 ok
      0:00:01.531345963 22715 0x7a5d24000b70 WARN                  queue2 gstqueue2.c:2450:gst_queue2_locked_enqueue:<queue2-0> custom-downstream-sticky event can't be added to temp file: custom-downstream-sticky event: 0x7a5d2069b850, time 99:99:99.999999999, seq-num 34, http-headers, uri=(string)https://download.qt.io/learning/videos/media-player-example/Qt_LogoMergeEffect.mp4, http-status-code=(uint)200, redirection-uri=(string)https://mirrors.cloud.tencent.com/qt/learning/videos/media-player-example/Qt_LogoMergeEffect.mp4, request-headers=(structure)"request-headers\,\ User-Agent\=\(string\)\"GStreamer\\\ souphttpsrc\\\ 1.22.6\\\ libsoup/3.4.2\"\,\ Accept-Encoding\=\(string\)identity\,\ Connection\=\(string\)Keep-Alive\,\ Host\=\(string\)mirrors.cloud.tencent.com\,\ icy-metadata\=\(string\)1\;", response-headers=(structure)"response-headers\,\ Last-Modified\=\(string\)\"Mon\\\,\\\ 27\\\ Mar\\\ 2023\\\ 08:25:23\\\ GMT\"\,\ ETag\=\(string\)\"\\\"642152f3-922a29\\\"\"\,\ Server\=\(string\)nginx\,\ Date\=\(string\)\"Tue\\\,\\\ 05\\\ Mar\\\ 2024\\\ 00:15:45\\\ GMT\"\,\ Content-Type\=\(string\)application/octet-stream\,\ Content-Length\=\(string\)9579049\,\ Accept-Ranges\=\(string\)bytes\,\ Connection\=\(string\)keep-alive\,\ X-NWS-LOG-UUID\=\(string\)16911507087358899819\,\ X-Cache-Lookup\=\(string\)\"Cache\\\ Hit\"\;";
      Setting pipeline to PLAYING ...
      0:00:01.533192973 22715 0x7a5d240012e0 DEBUG                qtdemux qtdemux.c:1994:gst_qtdemux_reset:<GstQTDemux@0x7a5cf806e840> Resetting demux
      0:00:01.533248702 22715 0x7a5d240012e0 DEBUG                qtdemux qtdemux.c:1994:gst_qtdemux_reset:<qtdemux0> Resetting demux
      0:00:01.533264176 22715 0x7a5d240012e0 DEBUG                qtdemux qtdemux.c:8028:qtdemux_sink_activate:<qtdemux0:sink> activating pull
      0:00:01.533484179 22715 0x7a5d240014e0 DEBUG                qtdemux qtdemux.c:3137:extract_initial_length_and_fourcc: length 0x00000018
      0:00:01.533507581 22715 0x7a5d240014e0 DEBUG                qtdemux qtdemux.c:3139:extract_initial_length_and_fourcc: atom type ftyp
      0:00:01.533530244 22715 0x7a5d240014e0 DEBUG                qtdemux qtdemux.c:2704:qtdemux_parse_ftyp:<qtdemux0> ftyp major brand: mp42
      0:00:01.533533592 22715 0x7a5d240014e0 DEBUG                qtdemux qtdemux.c:2707:qtdemux_parse_ftyp:<qtdemux0> ftyp minor version: 0
      0:00:01.533537165 22715 0x7a5d240014e0 DEBUG                qtdemux qtdemux.c:2716:qtdemux_parse_ftyp:<qtdemux0> ftyp compatible brand: mp42
      0:00:01.533560083 22715 0x7a5d240014e0 DEBUG                qtdemux qtdemux.c:2716:qtdemux_parse_ftyp:<qtdemux0> ftyp compatible brand: mp41
      0:00:01.533566360 22715 0x7a5d240014e0 DEBUG                qtdemux qtdemux.c:3137:extract_initial_length_and_fourcc: length 0x00001a0d
      0:00:01.533569595 22715 0x7a5d240014e0 DEBUG                qtdemux qtdemux.c:3139:extract_initial_length_and_fourcc: atom type moov
      Buffering, setting pipeline to PAUSED ...
      0:00:01.533763977 22715 0x7a5d24000b70 DEBUG            souphttpsrc gstsouphttpsrc.c:2110:gst_soup_http_src_read_buffer:<source> Read 4096 bytes from http input
      0:00:01.533789464 22715 0x7a5d24000b70 DEBUG            souphttpsrc gstsouphttpsrc.c:1986:gst_soup_http_src_check_update_blocksize:<source> Increased blocksize to 8192
      0:00:01.533794656 22715 0x7a5d24000b70 DEBUG            souphttpsrc gstsouphttpsrc.c:2276:gst_soup_http_src_create:<source> Returning 0 ok
      0:00:01.533833707 22715 0x7a5d240014e0 DEBUG                qtdemux qtdemux.c:8135:qtdemux_parse_moov:<qtdemux0> parsing 'moov' atom
      0:00:01.533839145 22715 0x7a5d240014e0 WARN                 qtdemux qtdemux_types.c:266:qtdemux_type_get: unknown QuickTime node type ...8
      0:00:01.533885094 22715 0x7a5d240014e0 WARN                 qtdemux qtdemux.c:8574:qtdemux_parse_node:<qtdemux0> error: This file is corrupt and cannot be played.
      0:00:01.533888411 22715 0x7a5d240014e0 WARN                 qtdemux qtdemux.c:8574:qtdemux_parse_node:<qtdemux0> error: Atom '...8' has size of 536870943 bytes, but we have only 6669 bytes available.
      ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0: This file is corrupt and cannot be played.
      Done buffering, setting pipeline to PLAYING ...
      Additional debug info:
      ../gst/isomp4/qtdemux.c(8574): qtdemux_parse_node (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
      Atom '...8' has size of 536870943 bytes, but we have only 6669 bytes available.
      Execution ended after 0:00:00.002476970
      0:00:01.533924363 22715 0x7a5d240014e0 DEBUG                qtdemux qtdemux.c:3137:extract_initial_lengSetting pipeline to NULL ...
      th_and_fourcc: length 0x00001ada
      0:00:01.533928916 22715 0x7a5d240014e0 DEBUG                qtdemux qtdemux.c:3139:extract_initial_length_and_fourcc: atom type uuid
      0:00:01.533971955 22715 0x7a5d24000b70 DEBUG            souphttpsrc gstsouphttpsrc.c:2110:gst_soup_http_src_read_buffer:<source> Read 8192 bytes from http input
      0:00:01.533994560 22715 0x7a5d24000b70 DEBUG            souphttpsrc gstsouphttpsrc.c:1986:gst_soup_http_src_check_update_blocksize:<source> Increased blocksize to 16384
      0:00:01.533998168 22715 0x7a5d24000b70 DEBUG            souphttpsrc gstsouphttpsrc.c:2276:gst_soup_http_src_create:<source> Returning 0 ok
      0:00:01.534035427 22715 0x56db6466fa20 DEBUG                qtdemux qtdemux.c:1994:gst_qtdemux_reset:<qtdemux0> Resetting demux
      0:00:01.534069360 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:2381:gst_soup_http_src_unlock:<source> unlock()
      0:00:01.534128317 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:2394:gst_soup_http_src_unlock_stop:<source> unlock_stop()
      0:00:01.534136010 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:2317:gst_soup_http_src_stop:<source> stop()
      0:00:01.534829615 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:1246:gst_soup_http_src_session_close:<source> Closing session
      0:00:01.578678407 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:1246:gst_soup_http_src_session_close:<source> Closing session
      0:00:01.578757610 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:603:gst_soup_http_src_dispose:<source> dispose
      0:00:01.578762177 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:1246:gst_soup_http_src_session_close:<source> Closing session
      0:00:01.578765896 22715 0x56db6466fa20 DEBUG            souphttpsrc gstsouphttpsrc.c:617:gst_soup_http_src_finalize:<source> finalize
      Freeing pipeline ...
      0:00:01.579602197 22715 0x56db6466fbb0 DEBUG            souphttpsrc gstsouphttpsrc.c:1076:thread_func:<GstSoupSession@0x56db6467f3d0> thread stop
      

      Attachments

        Issue Links

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

          Activity

            People

              timblechmann tim blechmann
              timblechmann tim blechmann
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes