Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
gst-plugins-good
gst-plugins-good
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 628
    • Issues 628
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 111
    • Merge Requests 111
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gst-plugins-goodgst-plugins-good
  • Issues
  • #245

Closed
Open
Created Dec 08, 2015 by Bugzilla Migration User@bugzilla-migration

rtspsrc does not emit no-more-pads unless all streams are added

Submitted by Evan Callaway

Link to original bug (#759204)

Description

Here is a simple pipeline that I can use to pull a video stream from a camera:

GST_DEBUG=rtspsrc:5 gst-launch-1.0 rtspsrc -e location=rtsp://user:pass@192.168.103.67/rtsp/onvif?profile=stream_all debug=1 ! decodebin ! fakesink

I found that there is some inconsistency in whether the no-more-pads signal is emitted in rtspsrc; some cameras emit the signal and others do not.

Here's a sample of my debug output:

gstrtspsrc.c:2943:pad_blocked:<rtspsrc0>``^[[00m pad udpsrc1:src blocked, activating streams
gstrtspsrc.c:4280:gst_rtspsrc_activate_streams:<rtspsrc0>``^[[00m activating streams
gstrtspsrc.c:4317:gst_rtspsrc_activate_streams:<rtspsrc0>``^[[00m unblocking stream pad 0x7fd37001faf0
gstrtspsrc.c:4317:gst_rtspsrc_activate_streams:<rtspsrc0>``^[[00m unblocking stream pad 0x7fd37001e990
gstrtspsrc.c:2987:new_manager_pad:<rtspsrc0>``^[[00m got new manager pad manager:recv_rtp_src_0_2042830296_98
gstrtspsrc.c:2995:new_manager_pad:<rtspsrc0>``^[[00m stream: 0, SSRC 79c31dd8, PT 98
gstrtspsrc.c:3013:new_manager_pad:<rtspsrc0>``^[[00m stream 0x7fd37001faf0, container 0, added 1, setup 1
gstrtspsrc.c:3013:new_manager_pad:<rtspsrc0>``^[[00m stream 0x7fd37001e990, container 0, added 0, setup 1

As you can see, we attempt to activate two streams, but only actually add one of them, so no-more-pads is never emitted in new_manager_pad. It seems as though no-more-pads should be emitted when all streams have either been added or can't be added.

Please let me know your thoughts on this.

Version: 1.6.1

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None