gstreamer/tests/check/elements
Alex Ashley 31d1c05871 h264parse: Add support for stream-format=avc3
When outputting in AVC3 stream format, the codec_data should not
contain any SPS or PPS, because they are embedded inside the stream.

In case of avc->bytestream h264parse will push the SPS and PPS from
codec_data downstream at the start of the stream, at intervals
controlled by "config-interval" and when there is a codec_data change.

In the case of avc3->bytstream h264parse detects that there is
already SPS/PPS in the stream and sets h264parse->push_codec to FALSE.
Therefore avc3->bytstream was already supported, except for the stream
type.

In the case of bystream->avc h264parse will generate codec_data caps
from the parsed SPS/PPS in the stream. However it does not remove these
SPS/PPS from the stream. bytestream->avc3 is the same as bytestream->avc
except that the codec_data must not have any SPS/PPS in it.

|--------------+-------------+-------------------|
|stream-format | SPS in-band | SPS in codec_data |
|--------------+-------------+-------------------|
| avc          | maybe       | always            |
|--------------+-------------+-------------------|
| avc3         | always      | never             |
|--------------+-------------+-------------------|

Amendment 2 of ISO/IEC 14496-15 (AVC file format) is defining a new
structure for fragmented MP4 called "avc3". The principal difference
between AVC1 and AVC3 is the location of the codec initialisation
data (e.g. SPS, PPS). In AVC1 this data is placed in the initial MOOV box
(moov.trak.mdia.minf.stbl.stsd.avc1) but in AVC3 this data goes in the
first sample of every fragment.

https://bugzilla.gnome.org/show_bug.cgi?id=702004
2013-09-04 13:32:36 +02:00
..
uvch264demux_data UVC H264 plugin 2012-09-10 16:09:26 -04:00
.gitignore tests: ignore new aiffparse test binary 2013-09-02 12:19:12 +01:00
aiffparse.c test: fix compiler warning in aiffparse test on 32-bit x86 2013-08-20 00:26:06 +01:00
asfmux.c asfmux: Fix event handling in unit test 2013-05-15 10:56:20 +02:00
assrender.c assrender: reenable unit tests and up rank to primary again 2013-01-22 00:24:52 +00:00
autoconvert.c autoconvert: Fix event handling in unit test 2013-05-15 10:23:49 +02:00
autovideoconvert.c Fix FSF address 2012-11-04 00:09:59 +00:00
baseaudiovisualizer.c tests: fix build of baseaudiovisualizer test with subdir-objects option 2013-08-09 20:14:03 +01:00
camerabin.c tests: camerabin: report element creation failures better and fix up LIBS 2013-02-28 20:21:16 +00:00
curlfilesink.c curlfilesink: Fix event handling in unit test 2013-05-15 10:19:24 +02:00
curlftpsink.c curl: new curlftpsink element 2012-05-12 11:53:25 +01:00
curlhttpsink.c curl: refactor curlsink, rename to curlhttpsink 2012-05-12 11:48:03 +01:00
curlsmtpsink.c curl: new curlsmtpsink element 2012-05-12 11:59:01 +01:00
dataurisrc.c Fix FSF address 2012-11-04 00:09:59 +00:00
faac.c faad/faac: Fix event handling in unit test 2013-05-15 09:41:54 +02:00
faad.c faad/faac: Fix event handling in unit test 2013-05-15 09:41:54 +02:00
gdpdepay.c gdp: Fix event handling in unit test 2013-05-15 11:12:42 +02:00
gdppay.c gdp: Fix event handling in unit test 2013-05-15 11:12:42 +02:00
h263parse.c videoparsers: Use complete and valid caps in the tests 2013-02-13 12:51:58 +01:00
h264parse.c h264parse: Add support for stream-format=avc3 2013-09-04 13:32:36 +02:00
id3mux.c Fix FSF address 2012-11-04 00:09:59 +00:00
jifmux.c Fix FSF address 2012-11-04 00:09:59 +00:00
jpegparse.c Fix FSF address 2012-11-04 00:09:59 +00:00
kate.c kate: Fix event handling in unit test 2013-05-15 10:14:33 +02:00
mpeg2enc.c tests: mpeg2enc: fix 'Got data flow before stream-start event' failure 2013-08-10 19:54:57 +01:00
mpeg4videoparse.c videoparsers: Use complete and valid caps in the tests 2013-02-13 12:51:58 +01:00
mpegtsmux.c mpegtsmux: Fix event handling in unit test 2013-05-15 11:37:14 +02:00
mpegvideoparse.c videoparsers: Use complete and valid caps in the tests 2013-02-13 12:51:58 +01:00
mpg123audiodec.c mpg123audiodec: Fix event handling in unit test 2013-05-15 11:25:07 +02:00
mplex.c tests: mplex: fix 'Got data flow before stream-start event' failure 2013-08-10 20:02:01 +01:00
mxfdemux.c mxfdemux: Fix event handling in unit test 2013-05-15 11:31:14 +02:00
mxfdemux.h tests/check/elements/mxfdemux.*: Make sure the main loop is already running when handling the EOS event in pull mode.... 2008-12-16 12:37:15 +00:00
mxfmux.c tests: update some element names for 1.0 2013-02-28 20:09:29 +00:00
neonhttpsrc.c Fix FSF address 2012-11-04 00:09:59 +00:00
ofa.c ofa: port to 1.0 2013-05-12 23:42:06 +01:00
opus.c opus: Fix event handling in unit test 2013-05-15 10:18:01 +02:00
parser.c parser: Fix event handling in unit tests 2013-05-15 11:15:24 +02:00
parser.h Fix FSF address 2012-11-04 00:09:59 +00:00
schroenc.c schroenc: Fix event handling in unit test 2013-05-15 11:26:25 +02:00
shm.c shm: Fix event handling in unit test 2013-05-15 10:22:44 +02:00
timidity.c Fix FSF address 2012-11-04 00:09:59 +00:00
uvch264demux.c tests: uvch264demux: send stream-start events and fix event order 2013-08-10 21:35:17 +01:00
viewfinderbin.c Fix FSF address 2012-11-04 00:09:59 +00:00
voaacenc.c vo{amr,aac}enc: Fix event handling in unit test 2013-05-15 09:42:58 +02:00
voamrwbenc.c vo{amr,aac}enc: Fix event handling in unit test 2013-05-15 09:42:58 +02:00
zbar.c Fix FSF address 2012-11-04 00:09:59 +00:00