Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-base gst-plugins-base
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 645
    • Issues 645
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 88
    • Merge requests 88
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gst-plugins-basegst-plugins-base
  • Issues
  • #404

Closed
Open
Created Dec 01, 2017 by Bugzilla Migration User@bugzilla-migration

videodecoder: Only drain if the internal queue is not empty

Submitted by Nicolas Dufresne @ndufresne

Link to original bug (#791091)

Description

Right now we drain, and drain, and then start playback. This makes very little sense, since nothing has ever been queued into the decoder yet. On seeks we do finish(), flush(), drain(). We are basically over telling the decoder to drain() here, because after finish() + flush() the decoder should be pretty drained already.

I didn't yet had time to write the patch, seems mostly trivial, but what I'm suggesting is to read the queue size before sending a drain. This we we don't have to do this check in every subclass. Some decoder don't really do this check, and the most common side effect is a slow start (specially for hardware decoders).

Version: 1.13.x

Assignee
Assign to
Time tracking