[gstreamer-bugs] [Bug 540300] [souphttpsrc] souphttpsrc does not seek ahead in http stream

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Sat Aug 2 14:53:54 PDT 2008


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=540300

  GStreamer | gst-plugins-good | Ver: HEAD CVS

Jan Schmidt changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #115712|none                        |committed
               Flag|                            |




------- Comment #18 from Jan Schmidt  2008-08-02 21:53 UTC -------
gst-plugins-good 0.10.9 was released with my patch, which seems to work OK.

Patch in attachment 115643 committed.

2008-08-02  Jan Schmidt  <jan.schmidt at sun.com>

        * ext/soup/gstsouphttpsrc.c:
        * ext/soup/gstsouphttpsrc.h:
        Fix seeking race condition in #540300
        Patch By: Wouter Cloetens  <wouter at mind be>

Doing some more testing with the seek example, it looks like there is a problem
with segment seeks (turning on the Loop toggle) - it will occasionally deadlock
while seeking, but U'm not sure why. Doesn't happen with (for e.g.)
gnomevfssrc.

Thread 3 (Thread 0xb680fb90 (LWP 28221)):
#0  0xb7f7f402 in __kernel_vsyscall ()
#1  0xb7780aa5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb70b8cac in gst_base_sink_wait_preroll (sink=0x81720f8)
    at gstbasesink.c:1619
#3  0xb70bd264 in gst_base_sink_render_object (basesink=0x81720f8, 
    pad=0x81564a8, obj=0x83ea1f8) at gstbasesink.c:1785
#4  0xb70be995 in gst_base_sink_queue_object_unlocked (basesink=0x81720f8, 
    pad=0x81564a8, obj=0x83ea1f8, prerollable=1) at gstbasesink.c:2370
#5  0xb70befef in gst_base_sink_chain_unlocked (basesink=0x81720f8, 
    pad=0x81564a8, buf=0x83ea1f8) at gstbasesink.c:2709
#6  0xb70bf635 in gst_base_sink_chain (pad=0x81564a8, buf=0x83ea1f8)
    at gstbasesink.c:2750
#7  0xb7f1bac9 in gst_pad_chain_unchecked (pad=0x81564a8, buffer=0x83ea1f8)
    at gstpad.c:3582
#8  0xb7f1c196 in gst_pad_push (pad=0x81563e8, buffer=0x83ea1f8)
    at gstpad.c:3750
#9  0xb70ce54e in gst_base_transform_chain (pad=0x8156328, buffer=0x83ea1f8)
    at gstbasetransform.c:1632
#10 0xb7f1bac9 in gst_pad_chain_unchecked (pad=0x8156328, buffer=0x83ea1f8)
    at gstpad.c:3582
#11 0xb7f1c196 in gst_pad_push (pad=0x8162e20, buffer=0x83ea1f8)
    at gstpad.c:3750
#12 0xb7f0dbba in gst_proxy_pad_do_chain (pad=0x8163e48, buffer=0x83ea1f8)
    at gstghostpad.c:193
#13 0xb7f1bac9 in gst_pad_chain_unchecked (pad=0x8163e48, buffer=0x83ea1f8)
    at gstpad.c:3582
#14 0xb7f1c196 in gst_pad_push (pad=0x8401278, buffer=0x83ea1f8)
    at gstpad.c:3750
#15 0xb5fe242a in gst_mad_chain (pad=0x84011b8, buffer=0x83e2018)
    at gstmad.c:1637
#16 0xb7f1bac9 in gst_pad_chain_unchecked (pad=0x84011b8, buffer=0x83e2018)
    at gstpad.c:3582
#17 0xb7f1c196 in gst_pad_push (pad=0x84010f8, buffer=0x83e2018)
    at gstpad.c:3750
#18 0xb5fef411 in gst_mp3parse_emit_frame (mp3parse=0x8402760, size=209, 
    mode=1, crc=1) at gstmpegaudioparse.c:844
#19 0xb5ff0e21 in gst_mp3parse_chain (pad=0x8401038, buf=0x83ea388)
    at gstmpegaudioparse.c:1372
#20 0xb7f1bac9 in gst_pad_chain_unchecked (pad=0x8401038, buffer=0x83ea388)
    at gstpad.c:3582
#21 0xb7f1c196 in gst_pad_push (pad=0x81566e8, buffer=0x83ea388)
    at gstpad.c:3750
#22 0xb70e517e in gst_tag_demux_chain (pad=0x8156628, buf=0x83ea388)
---Type <return> to continue, or q <return> to quit---
    at gsttagdemux.c:677
#23 0xb7f1bac9 in gst_pad_chain_unchecked (pad=0x8156628, buffer=0x83ea388)
    at gstpad.c:3582
#24 0xb7f1c196 in gst_pad_push (pad=0x81561a8, buffer=0x83ea388)
    at gstpad.c:3750
#25 0xb6f1d2da in gst_type_find_element_chain (pad=0x81560e8, buffer=0x83ea388)
    at gsttypefindelement.c:622
#26 0xb7f1bac9 in gst_pad_chain_unchecked (pad=0x81560e8, buffer=0x83ea388)
    at gstpad.c:3582
#27 0xb7f1c196 in gst_pad_push (pad=0x8163808, buffer=0x83ea388)
    at gstpad.c:3750
#28 0xb7f0dbba in gst_proxy_pad_do_chain (pad=0x8162800, buffer=0x83ea388)
    at gstghostpad.c:193
#29 0xb7f1bac9 in gst_pad_chain_unchecked (pad=0x8162800, buffer=0x83ea388)
    at gstpad.c:3582
#30 0xb7f1c196 in gst_pad_push (pad=0x8156028, buffer=0x83ea388)
    at gstpad.c:3750
#31 0xb70c8a06 in gst_base_src_loop (pad=0x8156028) at gstbasesrc.c:2205
#32 0xb7f3a4a0 in gst_task_func (task=0x814d0c0, tclass=0x806f5f8)
    at gsttask.c:192
#33 0xb77faabb in ?? () from /usr/lib/libglib-2.0.so.0
#34 0xb77f8e2f in ?? () from /usr/lib/libglib-2.0.so.0
#35 0xb777c4fb in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#36 0xb76fee5e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread 0xb5fa0b90 (LWP 28222)):
#0  0xb7f7f402 in __kernel_vsyscall ()
#1  0xb7780aa5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb6eda689 in audioringbuffer_thread_func (buf=0x8174140)
    at gstaudiosink.c:250
#3  0xb77f8e2f in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb777c4fb in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#5  0xb76fee5e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb725b720 (LWP 28204)):
#0  0xb7f7f402 in __kernel_vsyscall ()
#1  0xb7783589 in __lll_lock_wait () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb777eba6 in _L_lock_95 () from /lib/tls/i686/cmov/libpthread.so.0
#3  0xb777e58a in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
#4  0xb77f9580 in g_static_rec_mutex_lock () from /usr/lib/libglib-2.0.so.0
#5  0xb7f17517 in gst_pad_pause_task (pad=0x8153f60) at gstpad.c:4484
#6  0xb70c7c2f in gst_base_src_perform_seek (src=0x8154018, event=0x8289ea0, 
    unlock=1) at gstbasesrc.c:1147
#7  0xb70c6bf4 in gst_base_src_event_handler (pad=0x8156028, event=0x8289ea0)
    at gstbasesrc.c:1506
---Type <return> to continue, or q <return> to quit---
#8  0xb7f17db6 in gst_pad_send_event (pad=0x8156028, event=0x8289ea0)
    at gstpad.c:4335
#9  0xb7f184e6 in gst_pad_push_event (pad=0x8162800, event=0x8289ea0)
    at gstpad.c:4191
#10 0xb7f0cc7a in gst_proxy_pad_do_event (pad=0x8163808, event=0x8289ea0)
    at gstghostpad.c:142
#11 0xb7f17db6 in gst_pad_send_event (pad=0x8163808, event=0x8289ea0)
    at gstpad.c:4335
#12 0xb7f184e6 in gst_pad_push_event (pad=0x81560e8, event=0x8289ea0)
    at gstpad.c:4191
#13 0xb6f1c6f2 in gst_type_find_element_src_event (pad=0x81561a8, 
    event=0x8289ea0) at gsttypefindelement.c:424
#14 0xb7f17db6 in gst_pad_send_event (pad=0x81561a8, event=0x8289ea0)
    at gstpad.c:4335
#15 0xb7f184e6 in gst_pad_push_event (pad=0x8156628, event=0x8289ea0)
    at gstpad.c:4191
#16 0xb70e442d in gst_tag_demux_srcpad_event (pad=0x81566e8, event=0x8280650)
    at gsttagdemux.c:819
#17 0xb7f17db6 in gst_pad_send_event (pad=0x81566e8, event=0x8280650)
    at gstpad.c:4335
#18 0xb7f184e6 in gst_pad_push_event (pad=0x8401038, event=0x8280650)
    at gstpad.c:4191
#19 0xb5ff356a in mp3parse_src_event (pad=0x84010f8, event=0x82807b8)
    at gstmpegaudioparse.c:1860
#20 0xb7f17db6 in gst_pad_send_event (pad=0x84010f8, event=0x82807b8)
    at gstpad.c:4335
#21 0xb7f184e6 in gst_pad_push_event (pad=0x84011b8, event=0x82807b8)
    at gstpad.c:4191
#22 0xb7f197d5 in gst_pad_event_default (pad=0x8401278, event=0x82807b8)
    at gstpad.c:3011
#23 0xb5fe06b2 in gst_mad_src_event (pad=0x8401278, event=0x82807b8)
    at gstmad.c:806
#24 0xb7f17db6 in gst_pad_send_event (pad=0x8401278, event=0x82807b8)
    at gstpad.c:4335
#25 0xb7f184e6 in gst_pad_push_event (pad=0x8163e48, event=0x82807b8)
    at gstpad.c:4191
#26 0xb7f0cc7a in gst_proxy_pad_do_event (pad=0x8162e20, event=0x82807b8)
    at gstghostpad.c:142
#27 0xb7f17db6 in gst_pad_send_event (pad=0x8162e20, event=0x82807b8)
    at gstpad.c:4335
#28 0xb7f184e6 in gst_pad_push_event (pad=0x8156328, event=0x82807b8)
    at gstpad.c:4191
#29 0xb70cfc63 in gst_base_transform_src_eventfunc (trans=0x816c000, 
    event=0x82807b8) at gstbasetransform.c:1372
#30 0xb70cc047 in gst_base_transform_src_event (pad=0x81563e8, event=0x82807b8)
    at gstbasetransform.c:1341
---Type <return> to continue, or q <return> to quit---
#31 0xb7f17db6 in gst_pad_send_event (pad=0x81563e8, event=0x82807b8)
    at gstpad.c:4335
#32 0xb7f184e6 in gst_pad_push_event (pad=0x81564a8, event=0x82807b8)
    at gstpad.c:4191
#33 0xb70c2a94 in gst_base_sink_send_event (element=0x81720f8, event=0x82807b8)
    at gstbasesink.c:3121
#34 0xb7f03c08 in gst_element_send_event (element=0x81720f8, event=0x82807b8)
    at gstelement.c:1383
#35 0xb7ef2ca2 in gst_bin_send_event (element=0x8158110, event=0x82807b8)
    at gstbin.c:2323
#36 0xb7f03c08 in gst_element_send_event (element=0x8158110, event=0x82807b8)
    at gstelement.c:1383
#37 0x08052337 in send_event (event=0x82807b8) at seek.c:1260
#38 0x080524d1 in msg_segment_done (bus=0x8158960, message=0x83e8788, 
    pipeline=0x8158110) at seek.c:2011
#39 0xb7ef89d5 in marshal_VOID__MINIOBJECT (closure=0x828f6c0, 
    return_value=0x0, n_param_values=2, param_values=0xbfb02994, 
    invocation_hint=0xbfb0289c, marshal_data=0x8052420) at gstbus.c:161
#40 0xb785d759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#41 0xb7871f8b in ?? () from /usr/lib/libgobject-2.0.so.0
#42 0xb7873c1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#43 0xb7873f69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#44 0xb7ef6e17 in gst_bus_async_signal_func (bus=0x8158960, message=0x83e8788, 
    data=0x0) at gstbus.c:1081
#45 0xb7ef7af0 in gst_bus_source_dispatch (source=0x818f818, 
    callback=0xb7ef6d60 <gst_bus_async_signal_func>, user_data=0x0)
    at gstbus.c:783
#46 0xb77d0dd6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#47 0xb77d4193 in ?? () from /usr/lib/libglib-2.0.so.0
#48 0xb77d4577 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#49 0xb7b5a264 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#50 0x0804f2f5 in main (argc=Cannot access memory at address 0x0
) at seek.c:2505
#0  0xb7f7f402 in __kernel_vsyscall ()


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=540300.




More information about the Gstreamer-bugs mailing list