| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit f3ba3f6a042102f9e834b2bee89796f0a0efd20e.
In order to sync on buffer state with SDMX, demux manipulates the
read/write pointers of dvb_ringbuffer directly to account for new
data from SDMX. When dvb_ringbuffer is using fill count internally,
updating the read/write pointers does not affect the fill count
and so buffer is out of sync with SDMX.
Change-Id: I70828ba3337e49c53da67862b20d5f2c119f4271
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Automatically flushing the output buffer when buffer overflows is
not always the desired behavior as this discards pending data while
user may actually want to read the data collected so far.
Add a new module parameter to allow turning off the automatic
buffer flushing as well as a new ioctl DMX_FLUSH_BUFFER to allow
user to flush the output buffer manually.
Change-Id: I191bfcdd1e3194cd47884f0eabbbaf36b0a44f7e
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
For circular buffer, to distinguish between a full buffer and
an empty buffer, dvb_ringbuffer implementation reserved one
slot to always be unused (so read and write offset can
only be equal when buffer is empty).
This is not suitable for working with circular buffers
managed by hardware like TSPP2, as it causes the HW offsets
and dvb_ringbuffer offset to be out-of-sync.
Change-Id: I09749021d6d03c0f1319b358651350aa4b8dab70
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
The extradata handling support is added for extradata types.
Trickmode play support is also added for fast forward, and rewind.
The smooth trick mode playback is supported too.
Change-Id: I8535c1e1c831e31b8c3aab73f9806e5639e9b9be
Signed-off-by: Haifeng Xu <haifeng@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Add new demux plugin to support TSPPv2 hardware.
The plugin utilizes the HW capabilities of TSPPv2 to offload some
processing such as: TS packet inspection, PID filtering, PES assembly,
Indexing and more.
Change-Id: I820237215e2fd812e2a6974c75b1d57601c59146
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Video decoder expects SEI messages to be sent along
with the data of the following frame instead of the
preceding frame.
Detection of SEI messages allows closure of previous
frame data when SEI messages are encountered.
Change-Id: I43a292c4518592d45373c63eb8f2edae14b3adcd
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Some applications require setting of multiple cipher
operations for a specific PID for either decryption
and/or encryption. In addition, applications may
need to play content from secured buffer after decryption
was performed on the original content.
Change-Id: Iaf0b7c0684d7b95156363b203f4e89b48eae8711
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Applications need to know the maximum possible
value of STC that may be reported by demux to
handle wrap-around in STC counter.
Change-Id: I562a0a42523e3cb5473627e182fc68c42c326a14
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
demux kernel implementation exposed capabilities both to user-space
applications and internally to demux-device layer. demux-device
layer was changed to re-use the capabilities reported to user-space
to avoid duplications and redefinitions of capabilities.
Change-Id: Ib0eed8240c1bae0fce5ed7a1bae8129b185f3f87
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
Query of scrambling bits and notification when these change
are required by some applications.
Change-Id: If39dccb712c6bb14f2e277c8919eb34798f84146
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
No events were sent to applications when timer expires
waiting for section filter that was configured with
timeout interval. Applications waiting for demux events
using POLLPRI would never wake-up if such event occurs
and would not get notified on the error.
Change-Id: Id06340e893f3d5d014e3814d4886d945c70216f3
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
TS buffers insertion is required by some applications to
insert modified tables into recorded stream in order to
describe the content of the recording.
Change-Id: Ib7ba3007efb30817c7ee13c2c1d284381eacbf59
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
STC may be used by video consumer to notify applications on the
time of arrival of video frames.
Change-Id: If7a00f6412a73621a1c665f0586f786ed06ace61
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Indexing of recorded content is required by applications
in order to perform trick-modes on the recorded content.
The feature allows applications to specify different
kinds of indexing types and get notifications on the detected
index entries in the recorded content.
Change-Id: Idbda0c316fcc5d558e45a803e54e39f72aeecc9e
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Video pattern search is required for both video framing
done at plug-in level and indexing to be done by
dvb-demux level. The pattern search routine was moved as
a common service at dvb-demux level so that it can be
used by both.
At plug-in level, the plug-in needs the video codec in
order to perform the framing regardless of the indexing
parameters, therefore indexing parameters was renamed
to video codec.
Change-Id: I2e3e648c3a7d09254e7284c25ca7550089887907
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extend demux API with ability to push OOB commands to the DVR device
during playback from memory. OOB command is then received by all running
filters. Two types of OOB commands are supported:
1. Data markers - these allow user to mark with an identifier certain
points in the source stream, and be notified via the demux filters when
those are reached.
2. End-of-Stream (EOS) - allow user to declare source stream has reached
its end. This will make pending data readable to user and block any more
data from being output.
Change-Id: I3b3574718fa975ff7626663c38ed3b8f9e1853e4
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Events reported by demux can be enable or disabled so that
users can choose which events user is interested in. In addition
user may enable an event but specify whether the event will
cause the user to wake-up when poll with POLLPRI flag is used.
Change-Id: I8398f3d8beaa03442881fc5b40753a1f91295929
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds support for demuxing of encrypted streams which current
software demux implementation does not support.
User-space API is extended to allow setting of key ladder information
needed in order to perform decryption.
If secure demux application is available, demuxing does not take place in
the dvb demux sw filter anymore but instead is performed in the new secure
demux, regardless of whether the stream is encrypted or not.
Otherwise, the dvb demux sw filter will be used as before and demuxing of
encrypted streams will not be available.
Change-Id: If75a7b03d1f13d3b012250b87c25eaf6d6cbc399
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Report counters for transport error indicator, continuity-counter
errors and total number of TS packet constructing a PES in the
PES events so that applications can decide whether to decode
or drop the packet based on the errors information.
Change-Id: I8680163783a12c4f2518cd83fa0b3c7dfa882c34
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Video elemenatry stream data is usually passed from demux to a video
consumer (e.g. video decoder) in kernel-space via tunneling. However
there are cases when the video consumer is a user-space application
controlled by the middleware. This change adds support for notifying
user-space about newly available elementary stream data and
associated meta-data, using the existing events queue mechanism.
Change-Id: I6d104c6ad7ccc791b29b75e7bf376c985416585e
Signed-off-by: Liron Kuch <lkuch@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Extend Demux user-space API to set decoder buffers allocated externally
by user, supporting multiple linear buffers or a single cyclic buffer.
Internal decoder buffer allocation is still supported.
Change-Id: I98c63fffa14b597945dff8b4ac2fde05d9719e1b
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
Changes to use MDP Deinterlacer for Interlaced DVB Video
content.
Change-Id: I25d93b543aa987dcaa25fa9ff420da5e48d63b7b
Signed-off-by: Ananda Kishore <kananda@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Video decoder Output Buffer count can be controlled by
ioctl from userspace instead of using a pre-defined
count value.
Change-Id: Ia83e6adc936ef079d87fa5a4db5332763dab1cae
Signed-off-by: Ananda Kishore <kananda@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
demux input/output buffers were allocated internally by the driver,
for MPQ use-cases there's a need for user-space MPQ player to
allocate the buffers through ION driver and set them to demux
similar to the way other kinds of buffers are managed
in android multimedia stack for video
Change-Id: I072185147ccef08f795c7bcf7c784156f0cd1781
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Support for dvb/video interface for Qualcomm 8960 platform.
This code provides standard DVB Video API and
its extensions for broadcast scenario.
Refer http://linuxtv.org/ for complete API specification.
Change-Id: Ie60aa0719c6c7d9ab5d473382e3ef229c8b02be2
Signed-off-by: Ananda Kishore <kananda@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
user-space programs using demux require to be notified
on several kinds of events such new PES event,
new section event, new recording-chunk event and
other error events. demux API was extended to meet
this requirement
Change-Id: I768b6acde346139e194a3e6637b6fc0fc9648446
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
Provide richer information to applications about
actual demux capabilities
Change-Id: I5b849ea72366f5332f716735818b9f090c46de43
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
(cherry picked from commit d2c325e05cce18145b4639eb22b205efedfb34c5)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MPQ uses dvb/demux and dvb/video for broadcast feature. Video indexing
(or framing) is required for PVR use case or when the video decoder
does not handle framing. Linux dvb-core was extended to support
video indexing.
New features:
- Support passing video indexing parameters as part of PES filter
parameters.
- Support storing video indexing parameters per TS feed.
Change-Id: I33289743cb93e8bc46ba8d6da88805326c89c523
Signed-off-by: Liron Kuch <lkuch@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MPQ requires dvb/demux and dvb/video devices for
broadcast feature. Linux dvb-core was extended to
enable extra features required for MPQ use-cases
that dvb-core did not support originally.
New features:
- Add handling of transport streams with TS packets of
192-bytes (in addition to TS packets of 188-bytes),
required for Bluray/DLNA transport streams.
- Support mmap to optimize data transfer between kernel
and user-space for high-bitrate streams.
- Support pull-mode when playing from memory so that
buffers are not overflowed as in the case of live
playback (push-mode).
- Support setting buffer-size of filters with data
tunneled to decoder.
Change-Id: Ia357186874165ba218773ede3cf5b5e2dab91567
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
"enum dmx_ts_pes" and "typedef enum dmx_pes_type_t" are just the
same enum declared twice, since Kernel (2.6.12). There's no reason
to duplicate it there, and sparse complains about that:
drivers/media/dvb-core/dmxdev.c:600:55: warning: mixing different enum types
So, remove the internal define, keeping just the external one.
Internally, use only "enum dmx_ts_pes", as it is too late to drop
dmx_pes_type_t from the userspace API.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The DVBv3 statistics parameters are limited on several ways:
- It doesn't provide any way to indicate the used measure,
so userspace need to guess how to calculate/use it;
- Only a limited set of stats are supported;
- Can't be called in a way to require them to be filled
all at once (atomic reads from the hardware), with may
cause troubles on interpreting them on userspace;
- On some OFDM delivery systems, the carriers can be
independently modulated, having different properties.
Currently, there's no way to report per-layer stats.
To address the above issues, adding a new DVBv5-based stats API.
While here, correct inner code nomenclature on a few places.
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
| |
|
|
|
|
|
|
|
|
| |
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Michael Kerrisk <mtk.manpages@gmail.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
|
Set up empty UAPI Kbuild files to be populated by the header splitter.
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Dave Jones <davej@redhat.com>
|