After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 575239 - playbin2 multiple audio track playback issue
playbin2 multiple audio track playback issue
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other All
: Normal critical
: 0.10.24
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-03-13 12:03 UTC by Andreas Frisch
Modified: 2009-08-10 23:37 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Andreas Frisch 2009-03-13 12:03:43 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:
Comment 1 Andreas Frisch 2009-03-13 13:30:42 UTC
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;
Comment 2 Wim Taymans 2009-03-16 15:44:41 UTC
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.

Comment 3 Wim Taymans 2009-03-16 15:52:20 UTC
do you have an example mkv file?
Comment 4 Wim Taymans 2009-03-16 18:22:50 UTC
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
Comment 5 Andreas Frisch 2009-03-19 11:25:29 UTC
update to latest glib 2.20.0 seems to have solved the problem!
Comment 6 Andreas Frisch 2009-04-02 10:54:50 UTC
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.
Comment 7 Andreas Frisch 2009-05-13 09:44:03 UTC
Thanks a lot Wim, your 2009-05-12 patches fixed the issue!