Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-bad gst-plugins-bad
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 973
    • Issues 973
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 105
    • Merge requests 105
  • 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-plugins-badgst-plugins-bad
  • Issues
  • #192
Closed
Open
Issue created Nov 17, 2014 by Bugzilla Migration User@bugzilla-migration

mpegpsdemux: Issue with incoming TIME segment and base_time

Submitted by Edward Hervey @bilboed

Link to original bug (#740243)

Description

When mpegpsdemux works in push mode with incoming TIME segments, something is completely wrong with segment calculation.

Incoming segment: start:0, stop:-1
First SCR detected becomes the base_time : base_time = first_scr (say 5m for this example)
... But then the demuxer adjusts that again by the difference between segment.start and first_scr, so essentially base_time = first_scr + first_scr (we're at 10m now)

When the demuxer comes round to creating the output segments (in _demux_send_segment) it takes the incoming one ... and then "adjusts" it by base_time.

We therefore end up pushing a segment with start == base_time == 2 * first_scr

The first PTS/DTS of that stream are around first_scr => everything gets dropped until it reaches 2 * first_scr.

This was introduced by:
commit a9c0609a
Author: Mark Nauwelaerts mark.nauwelaerts@collabora.co.uk
Date: Fri Oct 12 15:44:03 2012 +0200

mpegdemux: handle upstream TIME segments
Assignee
Assign to
Time tracking