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 712722 - [regression] rtpbin fails to return not linked when it should
[regression] rtpbin fails to return not linked when it should
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.2.0
Other Linux
: Normal normal
: 1.2.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-11-20 01:04 UTC by Olivier Crête
Modified: 2013-11-22 11:41 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Olivier Crête 2013-11-20 01:04:10 UTC
This worked in 1.0, but had regressed by 1.2

First, send some RTP packets with:
gst-launch-1.0 audiotestsrc ! alawenc ! rtppcmapay !  'application/x-rtp, payload=(int)8' ! udpsink port=5004

Second, receive them with this pipeline:
gst-launch-1.0 rtpbin name=r udpsrc port=5004 caps='application/x-rtp, clock-rate=(int)8000, payload=(int)8' ! r.recv_rtp_sink_1 r.recv_rtp_src_1 ! rtppcmadepay ! alawdec ! pulsesink

In 1.0 (or 0.10 for that matter), it fails with not-linked.

In 1.2 (and git master), it just drops all the packets.

I assume it's the jitterbuffer failing to return the error upstream.

Also, if I stop the sender and restart it (in 1.2 and git master), I get:

(gst-launch-1.0:23850): GStreamer-CRITICAL **: gst_mini_object_unref: assertion `mini_object->refcount > 0' failed

Program received signal SIGTRAP, Trace/breakpoint trap.

Thread 140737313994496 (LWP 23859)

  • #0 g_logv
    at gmessages.c line 981
  • #1 g_log
    at gmessages.c line 1010
  • #2 gst_mini_object_unref
    at gstminiobject.c line 442
  • #3 clean_packet_info
    at rtpsession.c line 1648
  • #4 rtp_session_process_rtp
    at rtpsession.c line 1801
  • #5 gst_rtp_session_chain_recv_rtp
    at gstrtpsession.c line 1639
  • #6 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #7 gst_pad_push_data
    at gstpad.c line 3941
  • #8 gst_pad_push
    at gstpad.c line 4044
  • #9 gst_proxy_pad_chain_default
    at gstghostpad.c line 128
  • #10 gst_pad_chain_data_unchecked
    at gstpad.c line 3711
  • #11 gst_pad_push_data
    at gstpad.c line 3941
  • #12 gst_pad_push
    at gstpad.c line 4044
  • #13 gst_base_src_loop
    at gstbasesrc.c line 2779
  • #14 gst_task_func
    at gsttask.c line 316
  • #15 default_func
    at gsttaskpool.c line 70
  • #16 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #17 g_thread_proxy
    at gthread.c line 798
  • #18 start_thread
    at pthread_create.c line 308
  • #19 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 113

Comment 1 Wim Taymans 2013-11-22 11:28:17 UTC
commit 4c9474905b264e73c77acf2e3dce5a88b2e44b08
Author: Wim Taymans <wtaymans@redhat.com>
Date:   Fri Nov 22 12:26:21 2013 +0100

    rtpjitterbuffer: pass downstream flowreturn to upstream
    
    Fixes https://bugzilla.gnome.org/show_bug.cgi?id=712722
Comment 2 Wim Taymans 2013-11-22 11:41:21 UTC
Can't seem to reproduce the CRITICAL.