Skip to content
Snippets Groups Projects

v4l2src: Add source-change / resolution-change support

This branch adds support for driver driven source changes along with DV_TIMING locking support. Effectively, drivers can emit SOURCE_CHANGE event, with the RESOLUTION_CHANGE flag in order to signal that something got changes at the input signal. In that situation, we need to reset (streamoff/on) as we may not get more data otherwise. While doing this, we now query for detected DV_TIMING (aka modes) and lock/set these. We also default to the link detected width/height/framerate.

As a bonus, v4l2src will now mimic decklinksrc when the signal is lost and recovered. A WARNING with RESSOURCE/READ will be emited when the signal is lost, and an INFO message again with RESSOURCE/READ for when it's recovered.

This has been tested with vivid test driver and an work in progress HDMI receiver driver.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Nicolas Dufresne
  • Nicolas Dufresne
  • Nicolas Dufresne
  • Nicolas Dufresne
  • Nicolas Dufresne
  • Nicolas Dufresne
  • Nicolas Dufresne
  • Nicolas Dufresne
  • Nicolas Dufresne
  • Nicolas Dufresne
  • Nicolas Dufresne
  • Nicolas Dufresne added 38 commits

    added 38 commits

    • a2de405c...1b1ad32b - 22 commits from branch gstreamer:master
    • 69a1f7fc - v4l2bufferpool: use FLOW_LAST_BUFFER
    • 2667a2a3 - v4l2object: Add event helpers
    • cb00e9af - v4l2bufferpool: Handle resolution change event
    • 9279e7f1 - v4l2src: Add source resolution change support
    • 9a93c1ea - v4l2: Fix input/output index sign
    • 80d7d815 - v4l2: Add helper to query input status
    • ddb33fe1 - v4l2src: Add input signal status detection
    • 6cb27d0d - v4l2: Subscribe source_change for the current input
    • 8f6ed2fb - v4l2src: Stub preferred resolution support
    • c3eab24a - v4l2src: Refactor to use PreferredCapsInfo structure
    • 7086549e - v4l2object: Remove unused streaming member
    • 3caa4f70 - v4l2src: Force renegotiation on resolution change
    • a551ed24 - v4l2rc: Add DV_TIMINGS query and locking
    • b8db9f50 - v4l2src: Calculate framerate from DV timings
    • 2a0e6a47 - v4l2src: Move preferred resolution query before the probe
    • 85040668 - v4l2bufferpool: Silence traces around unsupported source change

    Compare with previous version

  • Nicolas Dufresne added 14 commits

    added 14 commits

    • 6fdb6812 - v4l2bufferpool: Handle resolution change event
    • eb9e8294 - v4l2src: Add source resolution change support
    • daea11e7 - v4l2: Fix input/output index sign
    • 458f4554 - v4l2: Add helper to query input status
    • 897eee9a - v4l2src: Add input signal status detection
    • 0b2da991 - v4l2: Subscribe source_change for the current input
    • 806976a2 - v4l2src: Stub preferred resolution support
    • 41083865 - v4l2src: Refactor to use PreferredCapsInfo structure
    • 08307981 - v4l2object: Remove unused streaming member
    • e0c415cc - v4l2src: Force renegotiation on resolution change
    • c597889f - v4l2rc: Add DV_TIMINGS query and locking
    • 362906c2 - v4l2src: Calculate framerate from DV timings
    • 97649cb7 - v4l2src: Move preferred resolution query before the probe
    • ba442c4a - v4l2bufferpool: Silence traces around unsupported source change

    Compare with previous version

  • Nicolas Dufresne resolved all threads

    resolved all threads

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading