Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
gst-rtsp-server
gst-rtsp-server
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 79
    • Issues 79
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 11
    • Merge Requests 11
  • 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
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • GStreamer
  • gst-rtsp-servergst-rtsp-server
  • Merge Requests
  • !137

Closed
Opened Jun 18, 2020 by Sebastian Dröge@slomo🍵Owner
  • Report abuse
Report abuse

WIP: rtsp-media: Don't set the sinks to PLAYING on NO_PREROLL

  • Overview 4
  • Commits 2
  • Pipelines 2
  • Changes 3
Instead handle the sink states independent of the remainder of the
pipeline state. This way we can start producing data in live pipelines
while the sinks don't send out data yet until the PLAY/RECORD request is
fully handled.

This prevents sending data out before the PLAY response and also
prevents the PLAY reponse to contain sequence numbers of a packet later
than the first one, which then would cause clients to drop the first few
packets that were actually received.

This allows live medias to work correctly again without sometimes losing
the first keyframe, or generally the first packets.

Can be reproduced with ./test-launch "( videotestsrc is-live=true ! timeoverlay ! x264enc tune=zerolatency ! rtph264pay name=pay0 pt=96 audiotestsrc is-live=true ! avenc_aac ! rtpmp4gpay name=pay1 pt=97 )"

Edited Aug 13, 2020 by Tim-Philipp Müller
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: gstreamer/gst-rtsp-server!137
Source branch: no-packets-before-play-response