[gst-devel] switching from playbin to playbin2 block the pipeline

franchan francis.meyvis at gmail.com
Thu Oct 8 17:43:40 CEST 2009


I have the content "making_of_elephants_dream_3160kbps_2chn_48000Hz.mpg"

It starts rendering correctly when using this command:
    gst-launch playbin uri=file:///home/francis/Desktop

But it blocks before the pipeline gets into the state GST_STATE_PAUSED
when replacing playbin with playbin2

The mpega and mpegv elements are custom.

When I attach a debuger I see 6 threads:
- g_main_loop_run() waiting in poll
- gst_multi_queue_loop() waiting in handle_pad_block()
- gst_base_src_loop() driving the demuxer
      gst_mpeg_demux_send_subbuffer() waits in gst_data_queue_push()
- gst_multi_queue_loop() doing gst_mpegvideoparse_chain() doing
  My mpegv decoder handles the NEWSEGMENT and then hangs in handle_pad_block()
- gst_multi_queue_loop() doing a gst_mpegvideoparse_chain()
  My mpegv decoder is blocked in gst_pad_alloc_buffer_full()
      again because of handle_pad_block()
- gst_multi_queue_loop() doing a gst_mp3parse_chain()
  My mpega decoder handles the NEWSEGMENT and the hangs in handle_pad_block()

Is it normal to see 2 threads calling the video decoder?
If not, what might be the reason?

my gstreamer build is 0.10.25.
PS I succeed rendering MPEGTS container with AAC and h264 with
gst-launch playbin2
I can also play MPEG 1 layer 1 audio with playbin2 ...

Thanks for any hints

More information about the gstreamer-devel mailing list