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
Sebastian Dröge
20ad174679
matroska-demux: Use gst_util_double_to_fraction() instead of GValue magic
2013-11-26 10:21:04 +01:00
Mark Nauwelaerts
643e6fdc36
matroskamux: correctly handle negative relative timestamps
...
... rather than scaling these as unsigned.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=712744
Based on patch by Krzysztof Kotlenga <pocek@users.sf.net>
2013-11-23 12:25:05 +01:00
Thibault Saunier
6ff7522ba2
matroskademux: Use GstVideoInfo helper to create caps for raw video
...
This way we do not miss mandatory fields in caps.
At the same time use the gst_pb_utils_get_codec_description helper to
get codec description.
https://bugzilla.gnome.org/show_bug.cgi?id=712328
2013-11-22 18:52:54 -03:00
Tim-Philipp Müller
d9c2914c90
g_memmove() is deprecated
...
Just use plain memmove(), g_memmove() is deprecated in
recent GLib versions.
https://bugzilla.gnome.org/show_bug.cgi?id=712811
2013-11-21 15:30:34 +00:00
Per x Johansson
b3e0b1dbca
matroskademux: Avoid division by zero assert in gst_matroska_demux_search_pos
...
https://bugzilla.gnome.org/show_bug.cgi?id=711829
2013-11-11 11:30:54 +01:00
Sebastian Dröge
4a8082856a
matroska-demux: Fix compiler warning
...
matroska-demux.c: In function 'gst_matroska_demux_add_stream':
matroska-demux.c:1379:7: error: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'guint64' [-Werror=format=]
"%03u", context->uid);
^
2013-10-30 22:13:06 +01:00
Reynaldo H. Verdejo Pinochet
38c5e5efdc
matroska: Trivial grammar fix on debug msg
2013-10-06 10:02:09 -07:00
Reynaldo H. Verdejo Pinochet
1cb31eeacc
matroskamux: Add context flag for WebM
...
WebM has a couple of specific requirements we need to handle.
Idea is to set this flag once and just rely on mux->is_webm
at run time instead of repeatedly figuring this out from
GST_MATROSKA_DOCTYPE_WEBM (which requires a strcmp()).
2013-10-06 09:54:28 -07:00
Reynaldo H. Verdejo Pinochet
edeed575ae
matroska: Do not write SegmentUID for WebM mux
...
WebM spec states SegmentUID is Unsupported. Files produced
with gstreamer without this change will spit an error like
this when passed to mkvalidator:
ERR201: Invalid 'SegmentUID' for profile 'webm' in Info at 192
2013-10-06 08:12:50 -07:00