Commit graph

851 commits

Author SHA1 Message Date
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
Tim-Philipp Müller
adc17aa879 tests: ignore new aiffparse test binary 2013-09-02 12:19:12 +01:00
Kerrick Staley
df287fe250 examples: port directfb example to 1.0
gst_pad_get_negotiated_caps was removed from 1.0;
gst_pad_get_current_caps should be used instead. See
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/random
/porting-to-1.0.txt

https://bugzilla.gnome.org/show_bug.cgi?id=707074
2013-08-29 20:13:48 +01:00
Edward Hervey
5d06aed3e2 mpegts: ABI/API break: Use GPtrArray instead of GArray
While it was a great idea, various g-i based bindings don't support
GArray with entries greater than sizeof(gpointer) :(

So let's just make everybody happy by just using GPtrArray.

And since we're breaking the API, also rename the various descriptor fields
to no longer have the descriptor_ prefix.

It does cost a bit more in terms of memory/cpu usage, but makes it usable
from bindings.
2013-08-21 08:59:42 +02:00
Tim-Philipp Müller
1648c0ba6a test: fix compiler warning in aiffparse test on 32-bit x86 2013-08-20 00:26:06 +01:00
Matthieu Bouron
2e5b1d1cac aiffparse: fix copyright 2013-08-19 10:31:59 +01:00
Tim-Philipp Müller
ef85572496 tests: fix some leaks in aiffparse unit test 2013-08-17 00:28:42 +01:00
Tim-Philipp Müller
1d35549d60 tests: fix state change order in aiffparse test
Do state changes from sink to src. Fixes race condition in
pull mode test where the source will start up and push buffers
to queue/identity or aiffparse before the main thread has
managed to set them to playing yet.
2013-08-17 00:25:50 +01:00
Matthieu Bouron
2bed61ee2f aiffparse: add tests
https://bugzilla.gnome.org/show_bug.cgi?id=705993
2013-08-17 00:25:49 +01:00
Tim-Philipp Müller
0a6ca026d1 examples: remove another obsolete example 2013-08-15 20:12:42 +01:00
Tim-Philipp Müller
d0ab9172c5 examples: remove prehistoric examples 2013-08-14 19:43:52 +01:00
Tim-Philipp Müller
c2092d9272 tests: uvch264demux: send stream-start events and fix event order 2013-08-10 21:35:17 +01:00
Tim-Philipp Müller
86acf25ffc tests: mplex: fix 'Got data flow before stream-start event' failure 2013-08-10 20:02:01 +01:00
Tim-Philipp Müller
08a918ec5f tests: mpeg2enc: fix 'Got data flow before stream-start event' failure 2013-08-10 19:54:57 +01:00
David Schleef
b456878697 tests: create/remove orc directory at proper time
Before automake creates .deps directories, and during distclean.

https://bugzilla.gnome.org/show_bug.cgi?id=705350
2013-08-09 20:14:03 +01:00
Tim-Philipp Müller
edb114c4bc tests: fix build of baseaudiovisualizer test with subdir-objects option
https://bugzilla.gnome.org/show_bug.cgi?id=705350
2013-08-09 20:14:03 +01:00
Edward Hervey
0ef3e3c7d2 examples: Add BAT support to mpegts example 2013-07-09 12:25:11 +02:00
Edward Hervey
057d24811d mpegts: Properly handle UTC time in sections
* don't unref inexistant GstDateTime
* Fine-tune hour/min/sec BCD reading code
* Update example code accordingly
2013-07-06 12:39:49 +02:00
Edward Hervey
b4e2261749 examples: Registration descriptor support
And output the length of the descriptors
2013-07-06 10:59:55 +02:00
Gwenole Beauchesne
daddc1d7d6 codecparsers: mpeg2: update test program with new GstMpegVideoPacket API.
This is the lost hunk from:
https://bugzilla.gnome.org/show_bug.cgi?id=692933

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 18:50:59 +02:00
Edward Hervey
4fe26740c7 mpegts: Add registered mpeg-ts stream types
These are the values officially registered in the base specification
(H.222.0/13818-1). Later on we can add other enums for other variants

Note that the enum is not used in the structure fields (such as a pmt
stream stream_type field) since it can contain values from other
variants.
2013-07-04 08:45:32 +02:00
Thiago Santos
8babffc750 camerabin: examples: add missing lib to makefile
Fixes initialization of sample application
2013-07-04 02:12:30 -03:00
Edward Hervey
6a611e5d3d mpegts: Fix TOT section parsing
And use it in example
2013-07-03 18:44:54 +02:00
Edward Hervey
61a8cbae41 examples: Fix a leak 2013-07-03 18:00:55 +02:00
Edward Hervey
b99a91deed examples: GstMpegTS => GstMpegTs 2013-07-03 14:00:58 +02:00
Edward Hervey
dc160e7ca7 examples: Add an example of a mpeg-ts SI extractor
Serves as an example of usage of the new mpegts library from an
application.

Will parse/dump all sections received on a bus.

Usage is ./tsparse <any gst-launch line using tsdemux or tsparse>

Examples:
  ./tsparse file:///some/mpegtsfile ! tsparse ! fakesink
  ./tsparse dvb://CHANNEL ! tsparse ! fakesink
  ./tsparse playbin uri=dvb://CHANNEL
  ./tsparse playbin uri=file:///some/mpegtsfile
  ...

https://bugzilla.gnome.org/show_bug.cgi?id=702724
2013-07-03 09:17:25 +02:00
Sebastian Dröge
36e3426c73 build: Fix some automake warnings 2013-06-14 14:53:52 +02:00
Sebastian Dröge
366339e4b2 mpegtsmux: Fix event handling in unit test 2013-05-15 11:37:14 +02:00
Sebastian Dröge
14cd3a0dc4 mxfdemux: Fix event handling in unit test 2013-05-15 11:31:14 +02:00
Sebastian Dröge
167e11b176 insertbin: Fix event handling in unit test 2013-05-15 11:28:56 +02:00
Sebastian Dröge
97e42f82dc schroenc: Fix event handling in unit test 2013-05-15 11:26:25 +02:00
Sebastian Dröge
869bb69dd3 mpg123audiodec: Fix event handling in unit test 2013-05-15 11:25:07 +02:00
Sebastian Dröge
53c22085d9 parser: Fix event handling in unit tests 2013-05-15 11:15:24 +02:00
Sebastian Dröge
0b6898caea gdp: Fix event handling in unit test
gdp elements still needs to be fixed for all the event related
changes and generally properly ported to 1.0.
2013-05-15 11:12:42 +02:00
Sebastian Dröge
d35cba1d6a baseaudiovisualizer: Fix event handling in unit test 2013-05-15 11:04:23 +02:00
Sebastian Dröge
71c131b63c asfmux: Fix event handling in unit test 2013-05-15 10:56:20 +02:00
Sebastian Dröge
bc9747b323 autoconvert: Fix event handling in unit test 2013-05-15 10:23:49 +02:00
Sebastian Dröge
214c0d2e71 shm: Fix event handling in unit test 2013-05-15 10:22:44 +02:00
Sebastian Dröge
99832846a3 curlfilesink: Fix event handling in unit test 2013-05-15 10:19:24 +02:00
Sebastian Dröge
d03a38c684 opus: Fix event handling in unit test 2013-05-15 10:18:01 +02:00
Sebastian Dröge
edcfb4d307 kate: Fix event handling in unit test 2013-05-15 10:14:33 +02:00
Sebastian Dröge
bca7bdc27e vo{amr,aac}enc: Fix event handling in unit test 2013-05-15 09:42:58 +02:00
Sebastian Dröge
75bb160459 faad/faac: Fix event handling in unit test 2013-05-15 09:41:54 +02:00
Tim-Philipp Müller
16ed8840ea tests: blacklist some more tests from the generic state change test 2013-05-13 00:08:42 +01:00
Tim-Philipp Müller
020c93b973 ofa: port to 1.0 2013-05-12 23:42:06 +01:00
Tim-Philipp Müller
8c7ed7ccea tests: fix some leaks in kate unit test 2013-04-27 12:06:53 +01:00
Tim-Philipp Müller
4b256e729e tests: fix remaining kate tests
https://bugzilla.gnome.org/show_bug.cgi?id=697071
2013-04-23 01:17:56 +01:00
Brendan Long
f26827c3c8 tests: port Kate tests to 1.0
https://bugzilla.gnome.org/show_bug.cgi?id=697071
2013-04-23 00:04:10 +01:00
Tim-Philipp Müller
ae3313df2c tests: fix up mpegtsmux unit test after collectpads change
It was passing expected flow returns (which might be negative)
in the buffer timestamp field, which was maybe not the best
idea.
2013-03-13 00:40:42 +00:00
Tim-Philipp Müller
c2446a70f6 Remove DTMF plugin, moved to -good
https://bugzilla.gnome.org/show_bug.cgi?id=687416
2013-03-09 01:06:31 +00:00