Philippe Normand
4c10a1ba27
matroskademux: Set subtitle tag title from TrackName field
...
GUI applications can then use the title tag to set menu items or labels
representing the track.
https://bugzilla.gnome.org/show_bug.cgi?id=796567
2018-06-29 17:11:28 +01:00
Tim-Philipp Müller
adc315978c
matroskademux: tag disabled streams with FLAG_UNSELECT
...
So they're never picked as default, only by explicit
user action.
https://bugzilla.gnome.org/show_bug.cgi?id=690911
2018-05-15 10:25:35 +01:00
Alicia Boya García
a5e93b7062
matroskademux: Add comment about Opus clipping
...
https://bugzilla.gnome.org/show_bug.cgi?id=793523
2018-04-13 09:50:35 +01:00
Sean DuBois
de8f080a5c
Add AV1 to matroska plugin
...
https://bugzilla.gnome.org/show_bug.cgi?id=784160
2017-12-15 18:00:31 +01:00
Edward Hervey
f89d672eb7
matroskademux: Remove bogus error message
...
It's just informational
2017-11-13 13:51:20 +01:00
Seungha Yang
5dd39d8946
matroskademux: Add parsing Colour element
...
... and forward colorimetry to downstream. The Colour element describes
various color information (similar to 'colr' box in isobmff).
Note that, due to the comparatively limited syntax for color information
in vpx codecs, the color information in mkv/wemb container level
should be used for sophisticated color handling (e.g., HDR video).
https://bugzilla.gnome.org/show_bug.cgi?id=790023
2017-11-08 11:01:55 +02:00
Mark Nauwelaerts
cf3f195012
matroskademux: search_cluster should find preceding cluster before target
...
... since failing this constraint takes search_pos by surprise which might
then end up in an infinite loop.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=787538
2017-09-11 20:39:22 +02:00
Mark Nauwelaerts
286df32e03
matroskademux: segment seek position is expressed in buffer time
...
... so it need not be corrected again for stream start
2017-07-09 10:55:00 +02:00
Mark Nauwelaerts
04fd953713
matroskademux: track highest known cluster position and time
...
... to use as a fallback initial duration estimate and to provide for
interpolation when scanning for position.
2017-06-24 17:36:54 +02:00
Mark Nauwelaerts
84c6aaf45b
matroskademux: improve and simplify searching for cluster and position
...
... avoiding inefficiency proportional to file size
2017-06-24 17:36:54 +02:00
Mark Nauwelaerts
d7b736fa11
matroskademux: increase chunk size when scanning for cluster
2017-06-24 17:36:54 +02:00
Mark Nauwelaerts
b19ef0df30
matroskademux: maintain variable state when searching for position
...
... so skipping to next cluster happens efficiently
2017-06-24 17:36:54 +02:00
Jan Schmidt
d76bd1913f
qtdemux: matroskademux: Ignore repeated seek events
...
Similar to what was done in adaptivedemux, ignore seek
events we've already handled - such as when they are received
on every srcpad of files with lots of streams.
2017-03-22 00:40:01 +11:00
Mark Nauwelaerts
e6a251e9c0
matroskademux: adjust segment stop for KEY_UNIT negative rate seeking
2016-12-29 12:48:56 +01:00
Sebastian Dröge
5d4c71d76e
matroskademux: Fix cluster searching if we search multiple times in one chunk
...
After finding a cluster id in the byte reader, we skip ahead the reader
position by one further byte to be able to continue searching from there
inside the same chunk if the cluster candidate was a false positive.
We have to accomodate for that additional byte when resuming the search,
otherwise all following pulls are off-by-one for every resume and we run
into an assertion.
2016-11-22 20:24:59 +02:00
Nicola Murino
0ef3a71b89
matroskademux: add support for skipping invalid data in push mode
...
https://bugzilla.gnome.org/show_bug.cgi?id=774566
2016-11-21 13:38:08 +02:00
Thibault Saunier
150edef830
Use the new API to post flow ERROR messages on the bus
...
https://bugzilla.gnome.org/show_bug.cgi?id=770158
2016-08-26 19:23:26 -03:00
Michael Olbrich
c5da4dc66a
matroskademux: preserve seek flags
...
Without this some flags get lost in streaming mode.
https://bugzilla.gnome.org/show_bug.cgi?id=767194
2016-06-06 10:50:02 +03:00
Sebastian Dröge
0345ba78f5
matroskademux: Set seek event seqnum in EOS and SEGMENT_DONE messages/events
...
Also actually store the seqnum in pull mode seeks.
See https://bugzilla.gnome.org/show_bug.cgi?id=765935
2016-05-20 10:57:30 +03:00
Seungha Yang
eb09829a1c
matroskademux: don't hold object lock whilst pushing out headers
...
matroskademux would take the GST_OBJECT_LOCK in
- gst_matroska_demux_push_codec_data_all()
- gst_matroska_demux_query()
Some parse element such as FLAC checks upstream seekability, and
there is some use cases that matroska-demux is linked to a parse element
(e.g.,FLAC format) without intermediate elements (e.g., queue).
In this case, matroska-demux never returns from _push_codec_data_all()
because the parser can return only after it receives the response to
the upstream query, but that's not going to happen because it's
deadlocked.
Elements must not hold the object lock whilst pushing out events
or data.
https://bugzilla.gnome.org/show_bug.cgi?id=766645
2016-05-19 22:01:53 +01:00
Vineeth TM
1071309870
good: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Luis de Bethencourt
5dcf1a4f69
matroska-demux: remove impossible condition
...
It is impossible for a guint to have a negative value, no need to check for
this. Introduced in commit 6861d11c49
CID 1354509
2016-02-29 10:11:38 +00:00
Linus Svensson
a5691af319
matroska-demux: Don't handle seek until ready
...
https://bugzilla.gnome.org/show_bug.cgi?id=762542
2016-02-23 17:54:43 +02:00
Linus Svensson
1a3986d016
matroska-demux: Unref seek event
...
https://bugzilla.gnome.org/show_bug.cgi?id=762542
2016-02-23 17:54:43 +02:00
Vincent Penquerc'h
6861d11c49
matroska-demux: make up an OpusHead block if possible when missing
...
https://bugzilla.gnome.org/show_bug.cgi?id=761489
2016-02-23 10:47:43 +02:00
Mark Nauwelaerts
afad769c78
matroskademux: make stream-id more readable and order-friendly
...
... as streams are so ordered by id by e.g. decodebin
(and as typically already honoured by other demuxers).
2016-02-22 16:06:11 +01:00
Sebastian Dröge
a7c3f353bd
matroskademux: Unmap wavpack header buffer after creating it
...
Otherwise it will be mapped writable all the time and we can't read from it
anywhere.
https://bugzilla.gnome.org/show_bug.cgi?id=762239
2016-02-18 11:10:14 +02:00
Ognyan Tonchev
750b7c72fe
matroskademux: Simple implementation of TRICKMODE_KEY_UNITS
...
When the trickmode key-units flag is set on the segment, simply skip
any sample on a video stream that isn't a keyframe
https://bugzilla.gnome.org/show_bug.cgi?id=762185
2016-02-17 16:17:13 +02:00
Tim-Philipp Müller
77403d0afe
matroska-demux: send GAP events for lagging audio and video streams too
...
Send GAP events for non-subtitle streams too if they lag too much
behind, but use a higher threshold than for subtitles.
This helps with fixing prerolling with a file where one of the
audio streams only has data starting from 19s onwards. It's not
a complete fix yet, it also requires changes elsewhere, such as
in baseparse, to make sure caps are propagated.
https://bugzilla.gnome.org/show_bug.cgi?id=614460
https://bugzilla.gnome.org/show_bug.cgi?id=753899
2016-02-16 17:11:39 +00:00
Sebastian Dröge
e618444ca7
matroskademux: Guard against no codec data in prores caps creation
...
CID 1346532
2015-12-29 18:05:56 +02:00
Thibault Saunier
7b026e4bc0
matroskademux: Always set the channel mask for PCM streams
...
Just use the gst_audio_channel_get_fallback_mask function for now as
the specification is too complicated and nobody implements it.
2015-12-21 18:34:42 +01:00
Jan Schmidt
71d43327a3
matroska-demux: Play ProRes video streams
...
Generate video/x-prores caps for ProRes video streams.
Every frame needs an 8 byte header prepended, as described in
http://wiki.multimedia.cx/index.php?title=Apple_ProRes#Frame_layout
so do that in a post-processing callback.
https://bugzilla.gnome.org/show_bug.cgi?id=758258
2015-12-19 03:47:49 +11:00
Sebastian Dröge
ed20b9ab90
matroskademux: Use codecutils helpers for creating Opus caps
...
Also fix up codec data with values from the container.
https://bugzilla.gnome.org/show_bug.cgi?id=757152
2015-11-03 20:35:27 +02:00
Sebastian Dröge
2d98348abb
matroskademux: There is no multistream field for Opus anymore
...
https://bugzilla.gnome.org/show_bug.cgi?id=757152
2015-11-03 20:35:27 +02:00
Sebastian Dröge
d620ca4740
matroskademux: Parse and handle CodecDelay, SeekPreroll and DiscardPadding
...
https://bugzilla.gnome.org/show_bug.cgi?id=727305
2015-11-03 20:35:27 +02:00
Sebastian Dröge
cbf181f31b
matroskademux: Read buffer timestamp *after* actually setting it
...
https://bugzilla.gnome.org/show_bug.cgi?id=756809
2015-10-27 18:01:32 +02:00
Sebastian Dröge
1cd4baa16a
matroskademux: Remove leftover assertion from 0.10
...
We now allocate memory via GstAllocator and as such can handle arbitrary
alignments, not only <= G_MEM_ALIGN.
https://bugzilla.gnome.org/show_bug.cgi?id=755708
2015-09-28 18:03:51 +02:00
Sebastian Dröge
7046852e7d
gst: Don't use deprecated gst_segment_to_position()
2015-09-26 00:12:46 +02:00
Jan Alexander Steffens (heftig)
3f8efd8af8
matroskademux: Align raw video frames to 32 bytes
...
Outputting unaligned video frames causes videoscale et al to
crash when attempting SIMD-accelerated conversion.
https://bugzilla.gnome.org/show_bug.cgi?id=736965
2015-08-31 14:35:59 +03:00
Glen Diener
cd57697a2c
matroskademux: Preserve forward referenced track tags
...
https://bugzilla.gnome.org/show_bug.cgi?id=752850
2015-08-05 16:46:33 -04:00
Dimitrios Christidis
744167056c
matroskademux: fix for subtitle buffers with NUL terminators
...
Commit 45892ec8
created a regression where g_utf8_validate() would fail
if the subtitle buffer had a NUL terminator as part of the data.
https://bugzilla.gnome.org/show_bug.cgi?id=752421
2015-07-21 14:25:12 +01:00
Tim-Philipp Müller
2e3a5ba227
Update mailing list address from sourceforge to freedesktop
2015-07-16 17:19:03 +01:00
Dimitrios Christidis
45892ec8be
matroskademux: fix trailing '*' displayed with some text subtitles
...
The subtitle buffer we push out should not include a NUL terminator
as part of the data, we just add such a terminator for safety, but
it should not be included in the buffer size.
A NUL terminator is not valid UTF-8, so checks will fail if it's
included in the size, and the NUL will be replaced by the fallback
character specified when converting, i.e. '*'.
https://bugzilla.gnome.org/show_bug.cgi?id=752421
2015-07-16 13:18:06 +01:00
Luis de Bethencourt
063f553275
docs: decodebin2 -> decodebin
2015-06-25 10:57:29 +01:00
Jan Schmidt
e5db2673bd
matroska-demux: Use gst_video_multiview_guess_half_aspect()
...
Use the gst_video_multiview_guess_half_aspect() utility function
to set the half-aspect flag (or not) on stereoscopic frame-packed
videos.
2015-06-23 11:58:41 +10:00
Vineeth TM
9a1ed36b7a
matroska: remove useless check
...
No need to check for context availability while freeing. We are inside
inside a code block with a condition that dereferences context.
if (context->type == 0 ...
https://bugzilla.gnome.org/show_bug.cgi?id=751306
2015-06-22 12:26:23 +01:00
Jan Schmidt
0c46c5c3e2
matroska-demux: Actually set detected 3D info into output caps.
...
Use the information read from the StereoMode info
to configure multiview-mode and multiview-flags in the
video caps.
2015-06-12 01:57:36 +10:00
Jan Schmidt
ec5bc9dccb
matroska: Implement basic stereoscopic video support
...
Implement support for the packed video formats WebM
uses, not all the values that Matroska might use.
In practice, it's really hard to find any samples in the
wild of any.
Supported in both the muxer and demuxer.
2015-06-11 12:11:42 +10:00
Guillaume Desmottes
7f4f4131df
matroskademux: fix seek event leak
...
gst_matroska_demux_handle_seek_event() doesn't consume the
event so we have to unref it.
https://bugzilla.gnome.org/show_bug.cgi?id=748584
2015-04-28 19:24:40 +01:00
Sebastian Dröge
9119fbd774
matroska-demux: Send pending tags when adding a new pad
...
We might've parsed those tags before already and tried to push them to
non-existing pads before. Now let's do it for real.
2015-04-28 15:42:49 +02:00