Arun Raghavan
89564fcb69
ac3parse: Support switching alignment on-the-fly
...
This allows switching of alignment for E-AC3 streams at run-time. This
is requested by downstream elements via a custom event.
https://bugzilla.gnome.org/show_bug.cgi?id=650313
2011-07-27 20:43:56 +05:30
Arun Raghavan
96972eb462
ac3parse: Add support for IEC 61937 alignment
...
When pushing out buffers over S/PDIF or HDMI, IEC 61937 payloading
requires each buffer to contain 6 blocks from each substream. This adds
code to collect all the frames needed to meet this requirement before
pushing out a buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=650313
2011-07-26 10:40:00 +05:30
René Stadler
fd38772d3e
ac3parse: fix buffer duration on blocks-per-frame change
...
The gst_base_parse_set_frame_rate call was predicated on a change to
sample rate, duration or profile. However, the block count per frame can
also change between packets, which would result in incorrect buffer
durations.
2011-07-11 15:35:46 +03:00
Mark Nauwelaerts
d17d6d74be
audioparsers: not so greedy minimum frame size
...
... which will be determined by parsing anyway, and avoids introducing
redundant additional latency.
2011-06-13 17:06:37 +02:00
Tim-Philipp Müller
063b3d9dcd
ac3parse: fix unused-but-set-variable warning with gcc 4.6
2011-04-13 17:22:19 +01:00
Tim-Philipp Müller
ad0e4442e9
audioparsers: update for set_frame_props -> set_frame_rate API change
2011-04-08 18:07:18 +01:00
Tim-Philipp Müller
7a2a088c53
audioparsers: port to new GstBaseParse in core
2011-04-08 18:07:17 +01:00
Mark Nauwelaerts
d1bea6361b
ac3parse: improve handling of dependent substream frames
...
In particular, timestamps of these should track main-stream timestamps.
2011-04-08 18:07:16 +01:00
Mark Nauwelaerts
4163969a24
baseparse: introduce a baseparse frame to serve as context
...
... and adjust subclass parsers accordingly
2011-04-08 18:07:14 +01:00
Mark Nauwelaerts
cf5b01a55f
ac3parse: relax bsid checking
...
... to the widest possible spec interpretation.
Fixes #637062 .
2011-04-08 18:07:13 +01:00
Mark Nauwelaerts
d2a9daec36
audioparsers: update some documentation
2011-04-08 18:07:13 +01:00
Mark Nauwelaerts
f7de334d61
ac3parse: use proper EAC-3 caps
2011-04-08 18:07:12 +01:00
Mark Nauwelaerts
5d52d3f6c2
ac3parse: properly parse e-ac3 frame header
...
Also add a few debug statements.
2011-04-08 18:07:11 +01:00
Sebastian Dröge
6f04047f0c
ac3parse: Use unchecked versions of the bitreader get functions
...
We didn't check the return values anyway...
2011-04-08 18:07:09 +01:00
Mark Nauwelaerts
589c455ccb
baseparse: use _set_frame_props to configure frame lead_in and lead_out
...
... provided a corresponding decoder with sufficient leading and following
frames to carry out full decoding for a particular segment.
2011-04-08 18:07:08 +01:00
Mark Nauwelaerts
f218b984cc
baseparse: use _set_duration to configure duration update interval
...
... as it logically belongs there as one or the other; either subclass
can provide a duration, or an estimate must be made (reguarly updated).
2011-04-08 18:07:08 +01:00
Mark Nauwelaerts
10611c2826
ac3parse: remove redundant default is_seekable
2011-04-08 18:07:07 +01:00
Mark Nauwelaerts
d3660bbee7
ac3parse: add documentation
2011-04-08 18:07:03 +01:00
Mark Nauwelaerts
d283a44302
ac3parse: fix scanning for next syncword
2011-04-08 18:07:03 +01:00
Edward Hervey
be9c6045d0
ac3parse: Fix unitialized variable.
2011-04-08 18:07:02 +01:00
Mark Nauwelaerts
432abf42c3
ac3parse: ensure sufficient data available for parsing
2011-04-08 18:07:02 +01:00
Mark Nauwelaerts
d90c80e017
ac3parse: extract and use some more details for Enhanced Ac-3 streams
2011-04-08 18:07:02 +01:00
Mark Nauwelaerts
b320b08149
ac3parse: perform additional frame checks when resyncing
2011-04-08 18:07:02 +01:00
Mark Nauwelaerts
41e3099d66
ac3parse: inform base parser of frame duration
2011-04-08 18:07:02 +01:00
Mark Nauwelaerts
138c4d7f9c
ac3parse: improve src caps settings
2011-04-08 18:07:01 +01:00
Mark Nauwelaerts
37a58ebe3a
ac3parse: initial version
...
MARGINAL rank for now; might take some time for some (useful)
framed=true/false to appear here and there.
2011-04-08 18:07:01 +01:00