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 657209 - Setting playbin2's uri inside about-to-finish signal handler does not work
Setting playbin2's uri inside about-to-finish signal handler does not work
Status: RESOLVED DUPLICATE of bug 656715
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.35
Other Linux
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-08-24 00:01 UTC by mabiorc
Modified: 2011-08-24 05:58 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description mabiorc 2011-08-24 00:01:22 UTC
I'm using gst-plugins-base-0.10.32.2/tests/icles/playback/test7.c to
test the gap-less playback feature of playbin2 but it is not working.

Running the unmodified example plays great for the first uri, executes
the about_to_finish_cb properly, but when it is supposed to play the
next URI, throws the message bellow:
(test7:7165): GLib-GObject-CRITICAL **: g_object_set: assertion
`G_IS_OBJECT (object)' failed

Same behavior on 0.10.35 (on gst-plugins-base-0.10.35/tests/icles/playback). Some times we get a SIGABRT and other times (less frequent) a SIGSEGV.

Here is the backtrace on the 0.10.35 getting a SIGABRT:

mabio@mabio-laptop:~/stage/gstreamer/new/updates/gst-plugins-base-0.10.35/tests/icles/playback$ G_DEBUG="fatal_warnings" gdb --args ./test7 file:///tmp/Fut.mpg file:///tmp/Fut.mpg 
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Lendo símbolos de /home/mabio/stage/gstreamer/new/updates/gst-plugins-base-0.10.35/tests/icles/playback/test7...concluído.
(gdb) ?
command indefinido: "". Tente "help".
(gdb) r
Starting program: /home/mabio/stage/gstreamer/new/updates/gst-plugins-base-0.10.35/tests/icles/playback/test7 file:///tmp/Fut.mpg file:///tmp/Fut.mpg
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff3925700 (LWP 8270)]
[New Thread 0x7ffff3124700 (LWP 8271)]
[New Thread 0x7ffff271c700 (LWP 8272)]
[New Thread 0x7fffeb5c2700 (LWP 8275)]
[New Thread 0x7fffea6d9700 (LWP 8276)]
[New Thread 0x7fffe821e700 (LWP 8277)]
[New Thread 0x7fffe33ec700 (LWP 8278)]
0:00:00.000000000 / 0:00:31.073381671
[New Thread 0x7fffe2aed700 (LWP 8280)]
NEW CLOCK: GstPulseSinkClock
0:00:00.291144000 / 0:00:31.073381671
[Thread 0x7fffe2aed700 (LWP 8280) exited]
0:00:00.771362000 / 0:00:31.073381671
0:00:01.311453000 / 0:00:31.073381671
0:00:01.833496000 / 0:00:31.073381671
0:00:02.334023000 / 0:00:31.073381671
0:00:02.832378000 / 0:00:31.073381671
0:00:03.344656000 / 0:00:31.073381671
0:00:03.842930000 / 0:00:31.073381671
0:00:04.343099000 / 0:00:31.073381671
0:00:04.847217000 / 0:00:31.073381671
0:00:05.346912000 / 0:00:31.073381671
0:00:05.847119000 / 0:00:31.073381671
0:00:06.353389000 / 0:00:31.073381671
0:00:06.853959000 / 0:00:31.073381671
0:00:07.354640000 / 0:00:31.073381671
0:00:07.853932000 / 0:00:31.073381671
0:00:08.354642000 / 0:00:31.073381671
0:00:08.854625000 / 0:00:31.073381671
0:00:09.356066000 / 0:00:31.073381671
0:00:09.855973000 / 0:00:31.073381671
0:00:10.357279000 / 0:00:31.073381671
0:00:10.856632000 / 0:00:31.073381671
0:00:11.357248000 / 0:00:31.073381671
0:00:11.857240000 / 0:00:31.073381671
0:00:12.358675000 / 0:00:31.073381671
0:00:12.858674000 / 0:00:31.073381671
0:00:13.359274000 / 0:00:31.073381671
0:00:13.858424000 / 0:00:31.073381671
0:00:14.359049000 / 0:00:31.073381671
0:00:14.858982000 / 0:00:31.073381671
0:00:15.360361000 / 0:00:31.073381671
0:00:15.860352000 / 0:00:31.073381671
0:00:16.361043000 / 0:00:31.073381671
0:00:16.860222000 / 0:00:31.073381671
0:00:17.360880000 / 0:00:31.073381671
0:00:17.860847000 / 0:00:31.073381671
0:00:18.362168000 / 0:00:31.073381671
0:00:18.862116000 / 0:00:31.073381671
0:00:19.362661000 / 0:00:31.073381671
0:00:19.861809000 / 0:00:31.073381671
0:00:20.362468000 / 0:00:31.073381671
0:00:20.862558000 / 0:00:31.073381671
0:00:21.363797000 / 0:00:31.073381671
0:00:21.863696000 / 0:00:31.073381671
0:00:22.364425000 / 0:00:31.073381671
0:00:22.863868000 / 0:00:31.073381671
0:00:23.364562000 / 0:00:31.073381671
0:00:23.864493000 / 0:00:31.073381671
0:00:24.365813000 / 0:00:31.073381671
0:00:24.865687000 / 0:00:31.073381671
0:00:25.366263000 / 0:00:31.073381671
0:00:25.865459000 / 0:00:31.073381671
0:00:26.366265000 / 0:00:31.073381671
0:00:26.866279000 / 0:00:31.073381671
0:00:27.367540000 / 0:00:31.073381671
0:00:27.867341000 / 0:00:31.073381671
0:00:28.367860000 / 0:00:31.073381671
0:00:28.867048000 / 0:00:31.073381671
0:00:29.367695000 / 0:00:31.073381671
0:00:29.867663000 / 0:00:31.073381671
0:00:30.368970000 / 0:00:31.073381671
0:00:30.868801000 / 0:00:31.073381671
[New Thread 0x7fffe2aed700 (LWP 8491)]
[New Thread 0x7fffe2071700 (LWP 8492)]
[New Thread 0x7fffe1870700 (LWP 8493)]
[Thread 0x7fffe821e700 (LWP 8277) exited]
[Thread 0x7fffeb5c2700 (LWP 8275) exited]

GLib-GObject-CRITICAL **: g_object_set: assertion `G_IS_OBJECT (object)' failed
aborting...

Program received signal SIGABRT, Aborted.

Thread 140736977110784 (LWP 8493)

  • #0 *__GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 *__GI_abort
    at abort.c line 92
  • #2 g_logv
    from /lib/libglib-2.0.so.0
  • #3 g_log
    from /lib/libglib-2.0.so.0
  • #4 g_object_set
    from /usr/lib/libgobject-2.0.so.0
  • #5 update_av_offset
    at gstplaysink.c line 2745
  • #6 gst_play_sink_reconfigure
    at gstplaysink.c line 2603
  • #7 no_more_pads_cb
    at gstplaybin2.c line 2791
  • #8 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #9 ??
    from /usr/lib/libgobject-2.0.so.0
  • #10 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #11 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #12 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #13 ??
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #16 gst_decode_bin_expose
    at gstdecodebin2.c line 3305
  • #17 source_pad_blocked_cb
    at gstdecodebin2.c line 3424
  • #18 handle_pad_block
    at gstpad.c line 4049
  • #19 gst_pad_push_event
    at gstpad.c line 5222
  • #20 gst_mad_sink_event
    at gstmad.c line 973
  • #21 gst_pad_send_event
    at gstpad.c line 5398
  • #22 gst_pad_push_event
    at gstpad.c line 5250
  • #23 gst_base_parse_push_frame
    at gstbaseparse.c line 1837
  • #24 gst_base_parse_handle_and_push_frame
    at gstbaseparse.c line 1692
  • #25 gst_base_parse_chain
    at gstbaseparse.c line 2324
  • #26 gst_pad_push
    at gstpad.c line 4684
  • #27 gst_single_queue_push_one
    at gstmultiqueue.c line 981
  • #28 gst_multi_queue_loop
    at gstmultiqueue.c line 1179
  • #29 gst_task_func
    at gsttask.c line 318
  • #30 ??
    from /lib/libglib-2.0.so.0
  • #31 ??
    from /lib/libglib-2.0.so.0
  • #32 start_thread
    at pthread_create.c line 300
  • #33 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 112
  • #34 ??
  • #0 *__GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 *__GI_abort
    at abort.c line 92
  • #2 g_logv
    from /lib/libglib-2.0.so.0
  • #3 g_log
    from /lib/libglib-2.0.so.0
  • #4 g_object_set
    from /usr/lib/libgobject-2.0.so.0
  • #5 update_av_offset
    at gstplaysink.c line 2745
  • #6 gst_play_sink_reconfigure
    at gstplaysink.c line 2603
  • #7 no_more_pads_cb
    at gstplaybin2.c line 2791
  • #8 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #9 ??
    from /usr/lib/libgobject-2.0.so.0
  • #10 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #11 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #12 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #13 ??
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #16 gst_decode_bin_expose
    at gstdecodebin2.c line 3305
  • #17 source_pad_blocked_cb
    at gstdecodebin2.c line 3424
  • #18 handle_pad_block
    at gstpad.c line 4049
  • #19 gst_pad_push_event
    at gstpad.c line 5222
  • #20 gst_mad_sink_event
    at gstmad.c line 973
  • #21 gst_pad_send_event
    at gstpad.c line 5398
  • #22 gst_pad_push_event
    at gstpad.c line 5250
  • #23 gst_base_parse_push_frame
    at gstbaseparse.c line 1837
  • #24 gst_base_parse_handle_and_push_frame
    at gstbaseparse.c line 1692
  • #25 gst_base_parse_chain
    at gstbaseparse.c line 2324
  • #26 gst_pad_push
    at gstpad.c line 4684
  • #27 gst_single_queue_push_one
    at gstmultiqueue.c line 981
  • #28 gst_multi_queue_loop
    at gstmultiqueue.c line 1179
  • #29 gst_task_func
    at gsttask.c line 318
  • #30 ??
    from /lib/libglib-2.0.so.0
  • #31 ??
    from /lib/libglib-2.0.so.0
  • #32 start_thread
    at pthread_create.c line 300
  • #33 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 112
  • #34 ??

Thread 140736995456768 (LWP 8617)

  • #0 g_type_check_instance_is_a
    from /usr/lib/libgobject-2.0.so.0
  • #1 g_object_set
    from /usr/lib/libgobject-2.0.so.0
  • #2 update_av_offset
    at gstplaysink.c line 2745
  • #3 gst_play_sink_reconfigure
    at gstplaysink.c line 2603
  • #4 no_more_pads_cb
    at gstplaybin2.c line 2791
  • #5 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #6 ??
    from /usr/lib/libgobject-2.0.so.0
  • #7 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #8 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #9 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #10 ??
    from /usr/lib/libgobject-2.0.so.0
  • #11 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #12 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #13 gst_decode_bin_expose
    at gstdecodebin2.c line 3305
  • #14 multi_queue_overrun_cb
    at gstdecodebin2.c line 2550
  • #15 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #16 ??
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #18 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #19 single_queue_overrun_cb
    at gstmultiqueue.c line 1636
  • #20 gst_data_queue_push
    at gstdataqueue.c line 428
  • #21 gst_multi_queue_chain
    at gstmultiqueue.c line 1254
  • #22 gst_pad_push
    at gstpad.c line 4684
  • #23 gst_mpegts_demux_data_cb
    at gstmpegtsdemux.c line 1203
  • #24 gst_pes_filter_parse
    at gstpesfilter.c line 475
  • #25 gst_mpegts_demux_push_fragment
    at gstmpegtsdemux.c line 2212
  • #26 gst_mpegts_demux_parse_stream
    at gstmpegtsdemux.c line 2431
  • #27 gst_mpegts_demux_parse_transport_packet
    at gstmpegtsdemux.c line 2492
  • #28 gst_mpegts_demux_chain
    at gstmpegtsdemux.c line 3052
  • #29 gst_pad_push
    at gstpad.c line 4684
  • #30 gst_type_find_element_chain
    at gsttypefindelement.c line 771
  • #31 gst_pad_push
    at gstpad.c line 4684
  • #32 gst_pad_push
    at gstpad.c line 4684
  • #33 gst_base_src_loop
    at gstbasesrc.c line 2516
  • #34 gst_task_func
    at gsttask.c line 318
  • #35 ??
    from /lib/libglib-2.0.so.0
  • #36 ??
    from /lib/libglib-2.0.so.0
  • #37 start_thread
    at pthread_create.c line 300
  • #38 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 112
  • #39 ??

Comment 1 Sebastian Dröge (slomo) 2011-08-24 05:58:10 UTC
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find.

*** This bug has been marked as a duplicate of bug 653840 ***
Comment 2 Sebastian Dröge (slomo) 2011-08-24 05:58:47 UTC

*** This bug has been marked as a duplicate of bug 656715 ***