Philip Jägenstedt
c659c92091
ebml: crude hack to avoid crashing on unexpected metadata
...
The comment says this cannot happen, but it did and I don't know
why. This is not the correct fix, needs investigation. Test case:
bug_s555010094_r0.0005:0.008____IA__g_assertion_message_expr.webm
2010-05-19 20:35:28 +02:00
Philip Jägenstedt
9c1267b1a9
ebml: don't modify out str if returning an error in _read_ascii
...
This is a regression from ASCII validation changes. Test case:
bug_s66876390_r0.001____malloc_printerr.webm
2010-05-19 20:35:06 +02:00
Philip Jägenstedt
c712d28796
ebml: Validate 7-bit ASCII in gst_ebml_read_ascii
...
This was triggering an UTF-8 assertion in gst_caps_set_simple for
corrupt files with garbage as codec id. Test case:
gstreamer_error_trying_to_set_invalid_utf8_as_codec_id.webm
Old gst_ebml_read_ascii renamed to gst_ebml_read_string, also used by
gst_ebml_read_utf8. Unlike for UTF-8, failure to validate is an error,
as gst_ebml_read_ascii is used for reading doctype and codec id and we
might just as well give up early in those cases.
2010-05-19 20:33:38 +02:00
Philip Jägenstedt
d146971128
matroskademux: Ignore unexpected CodecState
...
Because GstMatroskaTrackContext *stream is set up in the first
SimpleBlock or Block, a rogue CodecState otherwise causes a segfault on
derefencing the NULL pointer. Test case:
bug_s5506167_r0.001____gst_matroska_demux_parse_blockgroup_or_simpleblock.webm
2010-05-19 20:33:35 +02:00
Philip Jägenstedt
9dc7889eea
matroskademux: Add video/webm sink caps
2010-05-19 20:32:13 +02:00
Philip Jägenstedt
ad05dfc032
matroskamux: Use SimpleBlock for WebM when possible
2010-05-19 20:32:02 +02:00
Philip Jägenstedt
1daeb26df1
matroskademux: Support "webm" DocType
2010-05-19 20:31:36 +02:00
Philip Jägenstedt
3b4759de18
matroskamux: rename matroska_version to doctype_version
2010-05-19 20:29:19 +02:00
Philip Jägenstedt
27069088db
matroskamux: Support "webm" DocType
2010-05-19 20:28:42 +02:00
Sebastian Dröge
e5e90f6035
matroskamux: Add support for On2 VP8
...
...matroskademux automatically supports it through libgstriff.
2010-05-17 17:18:24 +02:00
Sebastian Dröge
ad1c01661f
matroskamux: Write previous cluster's size
...
This is useful for backwards playback, which should be implemented
in matroskademux at some point.
2010-05-01 14:20:59 +02:00
Sebastian Dröge
1e1cf5df70
matroskademux: Set interlaced flag in the caps if the flag is set in the Matroska file
2010-05-01 14:15:49 +02:00
Sebastian Dröge
db6a3e55c6
matroskamux: Write interlaced flag if the input video content is interlaced
...
Unfortunately Matroska has no way to specify TFF and friends...
2010-05-01 14:13:24 +02:00
Tim-Philipp Müller
fa4b2938bc
matroska: init variable to avoid compiler warning on OSX
...
Fixes (bogus) "'offset' may be used uninitialized in this function"
warning on build bot (also spotted by philn).
2010-05-01 11:15:04 +01:00
Mark Nauwelaerts
a6bb8338fd
matroskademux: implement push mode seeking
2010-04-30 13:49:39 +02:00
Tim-Philipp Müller
a155deaabf
matroskademux, qtdemux: minor code cleanup in avc_level_idc_to_string()
...
Do the same with slightly fewer LOC.
2010-04-12 15:10:11 +01:00
Stefan Kost
acc742bbc9
matroska-mux: fix last commit
...
Use a local define for WAVEFORMAT_EX based on the size of the struct + 2 bytes
for the extension size.
2010-04-08 13:29:35 +03:00
Stefan Kost
0c35e0c4db
matroskamux: use riff lib more
...
Remove BITMAPINFOHEADER and use the one from riff-lib. Also remove the
WAVEFORMATEX_SIZE define and use a sizeof together with the respective struct.
Besides better code reuse this lessens the ununsed symbols in the docs.
2010-04-08 12:57:03 +03:00
Mark Nauwelaerts
dc09ace2bd
matroskademux: restrict resyncing to subtitle tracks
...
This should prevent skipping audio or video in not so well interleaved
cases.
Fixes #614460 .
2010-04-07 12:40:13 +02:00
Arun Raghavan
95c6d558f0
matroska: Export h.264 profile and level in caps
...
This replicates the code in qtdemux to export the h.264 profile and
level in the stream caps.
https://bugzilla.gnome.org/show_bug.cgi?id=614651
2010-04-02 18:51:34 +02:00
Mark Nauwelaerts
b9f569bfd0
matroskademux: push correctly sized flac header buffers
...
Fixes #614353 .
2010-03-30 16:51:36 +02:00
Mark Nauwelaerts
b1f3e4d0cf
matroskademux: only seek when in proper state
...
... and data structures can be thread-safely accessed.
See #601617 .
2010-03-26 11:45:47 +01:00
Mark Nauwelaerts
9157c262ba
matroskademux: support (pull mode) negative seek rate
2010-03-26 11:45:41 +01:00
Mark Nauwelaerts
95e38e59a2
matroskademux: track clip duration in segment
2010-03-26 11:45:39 +01:00
Mark Nauwelaerts
6ccffcf5f1
matroskademux: prefer index of video track to perform seeking
2010-03-26 11:45:36 +01:00
Benjamin Otte
3f511ec361
Add -Wwrite-strings to the configure flags
...
... and fix all warnings
2010-03-21 14:17:47 +01:00
Tim-Philipp Müller
073201b329
build: Makefile.am cleanups
...
Mostly add $(GST_BASE_CFLAGS) where it was missing, but also fix up
order of flags and libs if needed (see docs/random/moving-plugins).
2010-03-18 21:34:24 +00:00
Benjamin Otte
3342b1679e
Add -Wmissing-declarations -Wmissing-prototypes warning flags
...
And fix all the warnings.
2010-03-17 18:23:28 +01:00
Edward Hervey
869ff4263f
matroskademux: Make sure we don't send invalid newsegments
...
Fixes #611501
2010-03-02 21:20:45 +01:00
Edward Hervey
be186bd089
matroskademux: Mark streams as being EOS at the right time.
...
This allows us to stop streaming only when all streams have gone past the
segment.stop and not before.
Fixes #611501
2010-03-02 21:20:31 +01:00
Sebastian Dröge
ad71d43f52
matroskademux: Advance sparse streams only as much as required to keep the gap smaller than 500ms
...
Changing it to the newest timestamp that was ever pushed will
increase the segment start in 500ms jumps, which could be just
after the next sparse stream buffer. E.g.
Video at 1.0s, sparse stream at 0.5s would jump the
sparse stream to 1.0s. Now a new sparse stream buffer could
appear that has a timestamp of 0.9s and this would be
dropped for no good reason because of bad luck.
2010-02-27 12:20:06 +01:00
Brian Cameron
a45b351ddf
matroska: fix GST_ELEMENT_ERROR usage
...
Fixes #610053 .
2010-02-16 01:40:19 +00:00
Tim-Philipp Müller
0233257612
matroska: fix printf format string
2010-02-15 10:33:02 +00:00
Tim-Philipp Müller
63c86ac3d8
raw1394, matroska, rtpmanager: remove padding from structures
...
None of these element and class structures are in public headers,
so don't need padding.
2010-02-15 00:50:10 +00:00
Mark Nauwelaerts
f0d6b841a2
matroskademux: improve stream synchronization
...
In particular, do not make it send newsegment updates that
sort-of contradict the indented playback segment (e.g. start time).
2010-02-02 16:54:05 +01:00
Mark Nauwelaerts
b527360f21
matroskademux: fix bridging (time) gaps in streams
...
As a side effect, avoid sending newsegment updates with start times
that go back and forth, which leads to bogus downstream running_time.
Also fixes seeking in bug #606744 .
2010-02-02 16:53:56 +01:00
Mark Nauwelaerts
9bec2b1127
matroskademux: fix stream synchronization
...
.. by initializing streams starting at 0, as that is basically
where we 'seek to' at the start and assume streams to start elsewhere.
Also enables newsegment update events for subtitle streams.
2010-02-02 16:53:51 +01:00
Arnout Vandecappelle
ca41ddda75
matroskamux: make index size configurable.
...
Added the 'min-index-interval' property to matroskamux,
which determines how much time (nanoseconds) is left
between keyframes stored in the index.
Fixes #583985 .
2010-01-20 14:37:20 -03:00
Mark Nauwelaerts
891ca1f4d3
matroskademux: polish last buffer end time usage
...
That is, reset it upon seek, and note that (rarely) last pushed buffer
time might precede segment start.
2010-01-14 18:19:25 +01:00
Mark Nauwelaerts
59224d77f8
matroskademux: refactor eos sending when pausing loop
...
Also, prevent hanging if no pads yet on which to send eos by
posting a message instead.
2010-01-11 21:15:47 +01:00
Mark Nauwelaerts
ae515fead4
matroskademux: standardize seek handling
...
... which implies fixing some corner cases.
2010-01-11 21:15:46 +01:00
Mark Nauwelaerts
927c22bdc4
matroskamux: use more generic xiphN_streamheader_to_codecdata helper
2010-01-11 21:15:43 +01:00
Mark Nauwelaerts
847d1dd4ed
matroskamux: reflow audio and video setcaps and improve logging
...
Also ensure width and height are available as they are mandatory
in matroska specs.
2010-01-11 21:15:41 +01:00
Thiago Santos
5975b01b01
avimux: matroskamux: rename aac's stream-format to raw
...
AAC's none stream-format has been renamed to raw, rename
on avimux and matroskamux as well
2010-01-11 13:26:32 -03:00
Thiago Santos
1314853210
matroskamux: Only accept raw aac
...
makes matroskamux reject aac streams that are not
in raw format (stream-format=none)
Fixes #598350
2010-01-11 12:32:29 -03:00
Edward Hervey
188725811f
matroska: Fix unitialized variable.
...
Yes, it's stupid, but macosx compilers are even more stupid.
2009-12-18 12:46:06 +01:00
Mark Nauwelaerts
c9a0d2339e
matroskademux: also consider BlockNumber indicated in index when seeking
2009-12-16 12:48:02 +01:00
Mark Nauwelaerts
900ff7247e
matroskademux: support push based mode
...
Fixes #598610 .
2009-12-16 12:46:40 +01:00
Mark Nauwelaerts
e4183c6904
matroskademux: fix ebml read cache usage
2009-12-16 12:46:37 +01:00
Tim-Philipp Müller
b66f914586
matroska: fix language code writing and extraction
...
Matroska uses three-letter ISO 639-2B codes, but GST_TAG_LANGUAGE is
supposed to contain two-letter ISO 639-1 codes, so use new language
code mapping functions in -base to convert between those two as
needed.
Fixes #505823 .
2009-12-13 12:51:13 +00:00