au0828: fix enable and disable source audio and video inconsistencies
Enable and disable source interfaces aren't consistent in enforcing
how video and audio share the tuner resource.
Fix these issues to enforce the following rules and allow
sharing between audio and video applications.
- When DVB is streaming, audio/video/vbi/s-video/composite
should find the resource busy. DVB holds the tuner in
- When video is streaming, audio can share the tuner and vice versa.
- v4l2 allows multiple applications to open video device.
- Video applications call enable source multiple times during their
run-time. Resource should stay locked until the last application
- A shared resource should stay in shared state and locked when it is
in use by audio and video. More than one video application is allowed
to use the tuner as long as video streaming protocol allows such usage.
Resource is released when the last video/audio application releases it.
- S-Video and Composite hold the resource in exclusive mode.
- VBI allows more than vbi applications sharing and will not share
with another type. When resource is locked by VBI and in use by
multiple VBI applications, it should stay locked until the last
application disables it.
Signed-off-by: Shuah Khan <firstname.lastname@example.org>
2 files changed