GNOME Bugzilla – Bug 575239
playbin2 multiple audio track playback issue
Last modified: 2009-08-10 23:37:29 UTC
Please describe the problem: // VIDEO ONLY playback works fine (except for the error messages which i don't know what they're supposed to mean) root@dm8000:/media/hdd/movie/mkv# gst-launch playbin2 uri="file:///media/hdd/movie/mkv/testzdf.mkv" flags ="video" Setting pipeline to PAUSED ... Pipeline is PREROLLING ... (gst-launch-0.10:16372): GStreamer-CRITICAL **: Trying to dispose element dvbaudiosink0, but it is not in the NULL state. You need to explicitly set elements to the NULL state before dropping the final reference, to allow them to clean up. (gst-launch-0.10:16372): GStreamer-CRITICAL **: Trying to dispose element dvbaudiosink1, but it is not in the NULL state. You need to explicitly set elements to the NULL state before dropping the final reference, to allow them to clean up. MIMETYPE video/mpeg2 -> VIDEO_SET_STREAMTYPE, 0 Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock Caught interrupt -- handling interrupt. Interrupt: Stopping pipeline ... Execution ended after 4953850000 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... FREEING pipeline ... // AUDIO + VIDEO playback doesn't preroll root@dm8000:/media/hdd/movie/mkv# gst-launch playbin2 uri="file:///media/hdd/movie/mkv/testzdf.mkv" flags ="audio+video" Setting pipeline to PAUSED ... Pipeline is PREROLLING ... (gst-launch-0.10:16354): GStreamer-CRITICAL **: Trying to dispose element dvbaudiosink0, but it is not in the NULL state. You need to explicitly set elements to the NULL state before dropping the final reference, to allow them to clean up. (gst-launch-0.10:16354): GStreamer-CRITICAL **: Trying to dispose element dvbaudiosink1, but it is not in the NULL state. You need to explicitly set elements to the NULL state before dropping the final reference, to allow them to clean up. WARNING: from element /GstPlayBin2:playbin20/GstPlaySink:playsink0: No volume control found Additional debug info: gstplaysink.c(1212): gen_audio_chain (): /GstPlayBin2:playbin20/GstPlaySink:playsink0: Volume/mute is not available MIMETYPE video/mpeg2 -> VIDEO_SET_STREAMTYPE, 0 MIMETYPE audio/x-ac3 ERROR: from element /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstDVBAudioSink:dvbaudiosink2: Could not decode stream. Additional debug info: gstdvbaudiosink.c(388): gst_dvbaudiosink_set_caps (): /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstDVBAudioSink:dvbaudiosink2: hardware decoder can't be set to bypass mode 0 ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... FREEING pipeline ... // this is probably a different bug, but when i tried supplying a particular audio-stream, i got a segfault root@dm8000:/media/hdd/movie/mkv# gst-launch playbin2 uri="file:///media/hdd/movie/mkv/testzdf.mkv" flags ="video+audio" current-audio=0 Caught SIGSEGV accessing address (nil) Spinning. Please run 'gdb gst-launch 16411' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core. Quit // here some information about the media file # mediainfo /dream/movie/mkv/testzdf.mkv General Complete name : /dream/movie/mkv/testzdf.mkv Format : Matroska File size : 41.9 MiB Duration : 1mn 1s Overal bit rate : 5748 Kbps Encoded date : UTC 2008-09-23 10:32:52 Writing application : mkvmerge v2.2.0 ('Turn It On Again') built on Jul 7 2008 19:13:42 Writing library : libebml v0.7.8 + libmatroska v0.8.1 Video Format : MPEG Video Codec ID : V_MPEG2 Codec ID/Info : MPEG 1 or 2 Video Duration : 1mn 1s Bit rate : 4676 Kbps Width : 720 pixels Height : 576 pixels Display aspect ratio : 16/9 Frame rate : 25.000 fps Standard : PAL Audio #1 Format : AC-3 Format/Info : Audio Coding 3 Codec ID : A_AC3 Duration : 1mn 1s Bit rate mode : Constant Bit rate : 448 Kbps Channel(s) : 2 channels Channel positions : L R Sampling rate : 48.0 KHz Audio #2 Format : MPEG Audio Format version : Version 1 Format profile : Layer 2 Codec ID : A_MPEG/L2 Codec ID/Hint : MP2 Duration : 1mn 1s Bit rate mode : Constant Bit rate : 256 Kbps Channel(s) : 2 channels Sampling rate : 48.0 KHz Resolution : 16 bits Language : German Audio #3 Format : MPEG Audio Format version : Version 1 Format profile : Layer 2 Codec ID : A_MPEG/L2 Codec ID/Hint : MP2 Duration : 1mn 1s Bit rate mode : Constant Bit rate : 128 Kbps Channel(s) : 1 channel Sampling rate : 48.0 KHz Resolution : 16 bits Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
this probably has to do with it... with release 22 of plugins-base, in my application, another media file plays correctly: playing 4097:0:0:0:0:0:0:0:0:0:/media/hdd/movie/mkv/Bleach_Movie_2_-_The_DiamondDust_Rebellion_032.mkv SERVICEMP3 construct! playbin2 uri=file:///media/hdd/movie/mkv/Bleach_Movie_2_-_The_DiamondDust_Rebellion_032.mkv subtitle uri: file:///media/hdd/movie/mkv/Bleach_Movie_2_-_The_DiamondDust_Rebellion_032.srt starting pipeline new service started! trying to download cuts! download failed, no cuesheet interface gst_message from playsink2: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from playbin: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from mediaplayer: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PLAYING; gst_message from uridecodebin3: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from typefind: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from decodebin22: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from subparse0: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from typefind: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from source: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from source: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from uridecodebin2: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from typefind: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from decodebin23: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from matroskademux0: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from typefind: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from source: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from source: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from inputselector2: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from inputselector2: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from playsink2: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from multiqueue0: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from multiqueue0: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from ssaparse0: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from matroskademux0: taglist, video-codec=(string)H264, language-code=(string)jpn; eServiceMP3::getCachedSubtitle [__evUpdatedInfo] title 0 of 0 () gst_message from matroskademux0: taglist, audio-codec=(string)"AC-3\ audio", language-code=(string)jpn; [__evUpdatedInfo] title 0 of 0 () gst_message from matroskademux0: taglist, language-code=(string)eng; [__evUpdatedInfo] title 0 of 0 () gst_message from inputselector3: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from inputselector3: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from inputselector4: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from inputselector4: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from audiotee: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from audiotee: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from vqueue: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from vbin: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from playsink2: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_PAUSED; gst_message from vqueue: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from playsink2: GstMessageWarning, gerror=(GstGError)(NULL), debug=(string)"gstplaysink.c\(1028\):\ gen_audio_chain\ \(\):\ /GstPipeline:mediaplayer/GstPlayBin2:playbin/GstPlaySink:playsink2:\012No\ volume\ control\ found"; gst_message from abin: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from decodebin22: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from uridecodebin3: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from source: GstMessageError, gerror=(GstGError)(NULL), debug=(string)"gstbasesrc.c\(2330\):\ gst_base_src_loop\ \(\):\ /GstPipeline:mediaplayer/GstPlayBin2:playbin/GstURIDecodeBin:uridecodebin3/GstFileSrc:source:\012streaming\ task\ paused\,\ reason\ not-linked\ \(-1\)"; Gstreamer error: Internal data flow error. (1) from source MIMETYPE audio/x-ac3 gst_message from decodebin23: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from uridecodebin2: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from dvbaudiosink2: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from abin: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; H264 have codec data..! H264 high profile@3.1 MIMETYPE video/x-h264 VIDEO_SET_STREAMTYPE, 1 gst_message from dvbvideosink0: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from vbin: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from playsink2: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from playbin: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from mediaplayer: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_PLAYING; gst_message from mediaplayer: async-done (without structure) 1 video, 1 audio, 2 subtitle found audio language jpn gst_message from mediaplayer: GstMessageNewClock, clock=(GstClock)"\(GstSystemClock\)\ GstSystemClock"; gst_message from dvbaudiosink2: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from abin: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; VIDEO_EVENT 1 gst_message from dvbvideosink0: eventSizeChanged, aspect_ratio=(int)3, width=(int)720, height=(int)390; VIDEO_EVENT 2 gst_message from dvbvideosink0: eventFrameRateChanged, frame_rate=(int)23976; gst_message from dvbvideosink0: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from vqueue: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from vbin: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from audiotee: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from playsink2: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from inputselector3: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from inputselector4: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from inputselector2: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from ssaparse0: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from multiqueue0: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from matroskademux0: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from typefind: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from decodebin23: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from source: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from uridecodebin2: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from subparse0: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from typefind: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from decodebin22: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from source: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from uridecodebin3: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from playbin: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from mediaplayer: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; VIDEO_EVENT 16 gst_message from dvbvideosink0: eventProgressiveChanged, progressive=(int)1; action -> MediaPlayerActions subtitles self.list [] eServiceMP3::getSubtitleList action -> SetupActions cancel action -> MediaPlayerActions pause [Picload] setPara max-X=116 max-Y=116 aspect_ratio=1.422222 cache=0 resize=1 bg=#00000000 gst_message from vqueue: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from audiotee: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from inputselector3: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from inputselector4: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from inputselector2: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from ssaparse0: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from multiqueue0: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from matroskademux0: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from typefind: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from decodebin23: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from source: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from uridecodebin2: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from subparse0: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from typefind: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from decodebin22: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from source: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from uridecodebin3: GstMessageState, old-state=(GstState)GST_STATE_PLAYING, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; action -> DirectionActions down action -> DirectionActions downUp action -> OkCancelActions ok MP3: /media/hdd/movie/mkv/Bleach_Movie_2_-_The_DiamondDust_Rebellion_032.mkv stop // with GIT head version, my application locks up here: playing 4097:0:0:0:0:0:0:0:0:0:/media/hdd/movie/mkv/Bleach_Movie_2_-_The_DiamondDust_Rebellion_032.mkv SERVICEMP3 construct! playbin2 uri=file:///media/hdd/movie/mkv/Bleach_Movie_2_-_The_DiamondDust_Rebellion_032.mkv subtitle uri: file:///media/hdd/movie/mkv/Bleach_Movie_2_-_The_DiamondDust_Rebellion_032.srt starting pipeline new service started! trying to download cuts! download failed, no cuesheet interface gst_message from playsink1: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from playbin: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from mediaplayer: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PLAYING; gst_message from uridecodebin2: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from typefind: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from decodebin21: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from subparse0: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from typefind: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from source: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from source: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from uridecodebin1: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from inputselector1: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from inputselector1: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from typefind: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from decodebin22: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from matroskademux0: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from typefind: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from source: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from source: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from playsink1: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from multiqueue0: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from multiqueue0: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from ssaparse0: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from matroskademux0: taglist, video-codec=(string)H264, language-code=(string)jpn; eServiceMP3::getCachedSubtitle [__evUpdatedInfo] title 0 of 0 () gst_message from matroskademux0: taglist, audio-codec=(string)"AC-3\ audio", language-code=(string)jpn; [__evUpdatedInfo] title 0 of 0 () gst_message from matroskademux0: taglist, language-code=(string)eng; [__evUpdatedInfo] title 0 of 0 () gst_message from inputselector2: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from inputselector2: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; gst_message from inputselector3: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; gst_message from inputselector3: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
commit 48f7f6b7c290e73e202860c4e2d9649fbe870cd4 Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Mon Mar 16 16:42:18 2009 +0100 playbin2: don't try to set invalid stream numbers Fix a problem with setting the stream numbers because we check for the wrong range. See #575239.
do you have an example mkv file?
I don't know about those NULL state warnings, I would need a debug log with: GST_DEBUG=*decode*:5,*play*:5,*STATE*:5,*bin*:5 <app> >debug.log 2>&1
update to latest glib 2.20.0 seems to have solved the problem!
new finding: problem is caused by creating multiple instances of dvbaudiosink at preroll time for containers that contain more than 2 audio streams. in the start function of our sink, we open the hardware decoder device and that fails after the second time. therefore playback doesn't start. how can this be resolved? either playbin2 would have to not create and start the sinks of the other streams that aren't currently played or i would somehow have to fix it in the sink, but i am uncertain how.
Thanks a lot Wim, your 2009-05-12 patches fixed the issue!