Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-good gst-plugins-good
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 647
    • Issues 647
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 82
    • Merge requests 82
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & 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
  • GStreamer
  • gst-plugins-goodgst-plugins-good
  • Merge requests
  • !445

qtdemux: Use safer clearing functions in _dispose()

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Alicia Boya García requested to merge ntrrgc/gst-plugins-good:qtdemux-dispose into master Jan 02, 2020
  • Overview 8
  • Commits 1
  • Pipelines 5
  • Changes 1

In theory, dispose() functions should be idempotent and should be prepared not to crash or cause a double-free if an unref done from inside caused a recursive call to dispose() of the same object.

https://developer.gnome.org/gobject/stable/howto-gobject-destruction.html

This patch modifies the dispose() method to honor these constraints.

Since the double dispose() call won't actually occur in qtdemux (there is no cycle detection mechanism that could invoke it to work that way), this is more of a code cleanup than a user-facing problem fix.

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: qtdemux-dispose