Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-rtsp-server gst-rtsp-server
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 94
    • Issues 94
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 8
    • Merge requests 8
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamerGStreamer
  • gst-rtsp-servergst-rtsp-server
  • Issues
  • #4
Closed
Open
Issue created Oct 10, 2014 by Bugzilla Migration User@bugzilla-migration

rtsp-server : Async done message handling in pause and play case

Submitted by Srimanta Panda (trollkarlen)

Link to original bug (#738279)

Description

In scenario when server is loaded, if you perform pause and play, rtsp-server play response contains range starting from 0.

The issue is basically when a pause carried out the multiudpsink perfroms the asynchronous state change. This send s a ASYNC DONE message to the bus.

But if the pause and play is quick enough then play request (with range) tries to do the rtsp_media_seek before the ASYNC DONE message is handled. But while performing seek and flush stop event has executed, but not the new segment event, in-between the async done is performed and query command fails because have_segment of basesink is false and resets the rtsp-media range start value to zero.

And because of that the server tries to send a reply back with incorrect range which starts from zero because of the failed query during async done.

So overall the issue is media_seek should wait till the async done is performed.

The other scenario to reproduce the issue is to send pause and play (with range) multiple time simultaneously using a script.

Version: 1.4.3

Assignee
Assign to
Time tracking