Jan Schmidt
f1c3a40547
matroska: Use gst_video_guess_framerate() function
...
Remove local framerate guessing function in favour of
the new gst_video_guess_framerate() function.
2014-08-15 01:17:27 +10:00
Vincent Penquerc'h
5653b1a25a
matroskademux: send gap events instead of segment tricks
...
This fixes missing frames from being time skipped.
https://bugzilla.gnome.org/show_bug.cgi?id=732372
2014-07-01 15:14:34 +01:00
Sebastian Dröge
5500dd4a20
matroskamux: Fix compiler warnings when compiling with G_DISABLE_ASSERT
2014-06-29 19:57:57 +02:00
Tim-Philipp Müller
155a3fec93
matroskaparse: don't error out if there's not enough data in the adapter
...
gst_matroska_parse_take() would return FLOW_ERROR instead of
FLOW_EOS in case there's less data in the adapter than requested,
because buffer is NULL in that case which triggers the error
code path. This made the unit test fail (occasionally at least,
because of a bug in the unit test there's a race and it would
happen only sporadically).
2014-06-28 17:39:36 +01:00
Sebastian Dröge
daf25482ed
matroskademux: Don't call GST_DEBUG_OBJECT() and other macros with non-GObject objects
...
It will crash with latest GLib GIT and was never supposed to work before
either.
2014-06-22 19:26:03 +02:00
Tim-Philipp Müller
341b691b18
matroskademux: don't leak doctype string in error code path
...
CID 1212145.
2014-06-02 09:57:42 +02:00
Thiago Santos
c7c25071e3
matroskademux: use GstFlowCombiner
...
Use the flow combiner to have the standard combination results and avoid
repeating the same code
https://bugzilla.gnome.org/show_bug.cgi?id=709224
2014-05-26 19:51:02 -03:00
Adrien SCH
8ac30d4c26
matroskamux: fix the memory leak of language attribute
...
https://bugzilla.gnome.org/show_bug.cgi?id=728418
2014-05-13 19:55:21 -03:00
Tim-Philipp Müller
9872c19491
matroskademux: don't leak doctype string in error code path
...
CID 1212145.
2014-05-09 14:22:42 +01:00
Vincent Penquerc'h
ec38c62563
matroska: rejig test to avoid undefined shift behavior
...
Coverity 1195121, 1195120
2014-05-05 14:44:57 +01:00
Vincent Penquerc'h
9589c43516
matroskamux: ensure we don't dereference a NULL pointer
...
while working out the codec ID.
Coverity 1195148
2014-05-05 14:32:06 +01:00
Vincent Penquerc'h
590e20cbc9
matroskamux: do not use uinitialized clut on error
...
If we're missing part of the clut, do not try to use it. It seems
very likely the break was meant to break out of the switch rather
than from the loop.
Coverity 1139878
2014-05-02 14:25:01 +01:00
Vincent Penquerc'h
5c22bcf6e9
matroska: blindly fix writing variable length negative values
...
Spotted while fixing something else in the area.
Nothing calls this with a negative value.
2014-05-02 13:33:02 +01:00
Vincent Penquerc'h
5b9fa4e63a
matroska: do not lose the top bits when writing a > 32 bit value
...
Coverity 1139806
2014-05-02 13:29:33 +01:00
Vincent Penquerc'h
a0bc24558e
matroska: do not try to call gst_pad_query_default on a NULL pad
...
gst_matroska_parse_query can be called explicitely with a NULL pad.
If we reach this point with a NULL pad, fail the query.
Coverity 1139715
2014-05-02 11:39:39 +01:00
Vincent Penquerc'h
3915884017
matroska: do not return GST_FLOW_OK if we did not get a buffer
...
Coverity 1139714 (which will likely come back in another guise,
as the _read_init call can have a failing _map)
2014-05-02 11:28:01 +01:00
Vincent Penquerc'h
f5a9f5e221
matroska: catch failure to map buffer
...
Avoids dereferencing NULL.
Coverity 1139712
2014-05-02 11:20:33 +01:00
Vincent Penquerc'h
d9eb5f7fde
matroska: fix content encoding scope validity check
...
It's 3 bits, and http://matroska.org/technical/specs/index.html
says it can't be 0.
Coverity 1139660
2014-04-21 17:21:20 +01:00
Vincent Penquerc'h
54c5710adb
matroskamux: fix PAR fraction sanity check
...
It was checking par_num twice, and never par_denum.
Coverity 1139634
2014-04-21 17:21:20 +01:00
Vincent Penquerc'h
457712b933
matroska: fix check for amount of data to read
...
History shows length==0 should set data to NULL and return,
so we do that too instead of trying to read nothing.
Coverity 206205
2014-04-16 17:44:51 +01:00
Tim-Philipp Müller
821c68822b
matroska-mux: add mapping for Opus audio
...
Might want to consider adding channels/rate
requirement to template caps, but requires
fixing up of encoder and parser first.
2014-03-30 00:35:07 +00:00
Tim-Philipp Müller
b158a1c068
matroska-demux: add mapping for Opus audio codec
...
https://bugzilla.gnome.org/show_bug.cgi?id=727305
2014-03-30 00:31:11 +00:00
Mark Nauwelaerts
3414e3d0b9
matroskademux: segment closing not needed in 1.x
...
... as sender should keep track of segment base accumulation.
Rather, it may have some adverse effects as a spurious segment event,
e.g. in collectpads.
2014-03-25 21:02:45 +01:00
Mark Nauwelaerts
9a30726226
matroskademux: early sending pending codec-data for all streams
...
... at least before syncing across all streams might cause some gap
activity on any of those streams, notably sparse streams.
See also #712134
2014-03-25 21:02:45 +01:00
Mark Nauwelaerts
1e135a38cc
matroskamux: handle both sticky and non-sticky custom event
2014-03-25 21:02:45 +01:00
Per x Johansson
2a362c6fb1
matroskademux: fix assert on fps lower than 1
...
Fixes assert caused by gst_duration_to_fraction calling
gst_util_uint64_scale_int with a denominator of 0 when fps is less
than 1.
https://bugzilla.gnome.org/show_bug.cgi?id=726106
2014-03-12 09:08:31 +01:00
Tim-Philipp Müller
f3163fb45f
matroskademux: align raw audio memory to powers of two
...
https://bugzilla.gnome.org/show_bug.cgi?id=725008
2014-02-27 00:46:39 +00:00
Tim-Philipp Müller
c3dc53e551
matroskademux: calculate alignment properly for audio depths not a multiple of 8
2014-02-27 00:46:39 +00:00
Matej Knopp
d33b4dce63
matroskademux: fix crash with 24-bit raw audio
...
Do not try to align audio buffers to odd numbers,
which will get us a NULL buffer which we then
crash on.
https://bugzilla.gnome.org/show_bug.cgi?id=725008
2014-02-27 00:46:28 +00:00
divhaere
19a307930a
matroska: add support for GRAY8, BGR and RGB video colourspaces in V_UNCOMPRESSED codec
...
https://bugzilla.gnome.org/show_bug.cgi?id=723849
2014-02-11 21:22:33 +01:00
Sebastian Dröge
aafcbbb2fe
matroskaparse: Comment out some unused functions used only from the commented out pull-mode code
2014-02-09 23:21:20 +01:00
Reynaldo H. Verdejo Pinochet
2f8a1aa870
matroska: factor out read context init/reset
...
While at this, move _track_reset() to track-ids
so it can be called from the common read context
reset routine.
https://bugzilla.gnome.org/show_bug.cgi?id=722705
2014-02-06 13:25:12 -03:00
Per x Johansson
46bc1677a4
matroskamux: Fix constantly growing used uid list
...
Moves the used uid list to the class to avoid having it grow forever.
https://bugzilla.gnome.org/show_bug.cgi?id=723269
2014-01-30 11:59:28 -03:00
Reynaldo H. Verdejo Pinochet
cf0c780138
matroskaparse: better default caps when none set
...
Uses information gathered during EBML parsing to
forge a more suitable set of caps instead of blindly
assuming everything is video/x-matroska.
For consistency, stream type reset was added to
matroska-demux too.
https://bugzilla.gnome.org/show_bug.cgi?id=722311
2014-01-21 11:11:46 -03:00
Sebastian Dröge
809d105982
matroskademux: Don't skip all video frames until the first keyframe
...
Instead do it like all other demuxers and let parsers and decoders
handle that. The keyframe information inside the container might
be completely wrong like in the sample file of the bug report,
and if it is correct and we push no keyframes, then the parsers
and decoders will handle that properly anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=682276
2014-01-15 22:49:58 +01:00
Tim-Philipp Müller
88ac735af3
matroskademux: don't leak TOC chapter list
2014-01-10 16:50:11 +00:00
Vincent Penquerc'h
f8158baa93
matroskamux: remove obsolete write-dummy-and-overwrite-on-eos code
...
The need for rewriting apparently is obsolete 0.10 leftover.
We now have caps for subtitles when we create the headers,
so we always write the correct data in the first place.
2014-01-10 08:54:04 +00:00
Vincent Penquerc'h
1c6ee3fba4
matroskamux: write subtitle codec ID and data at start when known
...
This avoids issues with writing dummy data first, then having
to come back and write correct data later. Doing so prevents
the muxed stream from being actually streamable.
https://bugzilla.gnome.org/show_bug.cgi?id=712134
2014-01-09 18:29:32 +00:00
Wim Taymans
7f8c4dceb4
Revert "matroskamux: Use the running time for container timestamps, not buffer timestamps"
...
This reverts commit b3aa8755fe
.
We are already using the running-time because they were placed on the
buffers with gst_collect_pads_clip_running_time(). Arguably it would be
better to not modify the incomming buffers but collectpads seems to want
to use absolute timestamps from the buffers for finding the best buffer
(this can be changed with a custom compare function..).
2014-01-08 11:32:54 +01:00
Sebastian Dröge
2cddf3a0a9
matroskamux: Error out if ADPCM caps don't contain the layout field
2014-01-08 09:57:48 +01:00
Nicola Murino
bbb5a2853e
matroskamux: Add support for g726 ADPCM
...
https://bugzilla.gnome.org/show_bug.cgi?id=720995
2014-01-08 09:57:48 +01:00
Sebastian Dröge
5506dc3076
matroskamux: Add HEVC / h265 support
2014-01-06 14:55:36 +01:00
Sebastian Dröge
77745289c4
matroskademux: Add HEVC / h265 support
2014-01-06 14:55:36 +01:00
Sebastian Dröge
a4a7dafc32
matroskamux: Add missing semicolon from last commit
2014-01-05 10:28:34 +01:00
Sebastian Dröge
b3aa8755fe
matroskamux: Use the running time for container timestamps, not buffer timestamps
...
Buffer timestamps have no real meaning here, and for selecting the next
buffer we already use the running time anyway.
2014-01-05 10:23:44 +01:00
Nicola Murino
5b1108dd5f
matroskamux: adpcm max block align is 8192
2013-12-24 10:00:16 +01:00
Sebastian Dröge
4baf8080f2
matroskamux: Use correct codec id for ADPCM/DVI
2013-12-23 15:46:48 +01:00
Sebastian Dröge
7cae8922cb
matroskademux: Check for the correct size of codec_data in the ACM case
2013-12-23 15:46:43 +01:00
Nicola Murino
00ea1cb003
matroskamux: basic adpcm support
...
https://bugzilla.gnome.org/show_bug.cgi?id=664339
2013-12-23 15:31:04 +01:00
Sebastian Dröge
fb14f66696
matroska-demux: Allow a bit more variation when detecting common framerates
...
Instead of +/- 1ns we allow 2ns now. Due to rounding errors there are
some Matroska files out there with 33.333331ms per frame for 30fps.
2013-11-26 11:17:42 +01:00