Thiago Santos
f9c7dc2797
matroskamux: drop HEADER flag from output buffers
...
Drop HEADER flag from output buffers if they are not indeed
headers.
Fixes resending of headers in tcp connection handling
https://bugzilla.gnome.org/show_bug.cgi?id=754768
2015-09-10 16:28:48 -03:00
Tim-Philipp Müller
99a6f8207f
matroskamux: fix matroskamux ! matroskademux
...
Don't carry over DISCONT flags from the input buffers to the
output buffer, or the demuxer might reset its state when it
receives the first data buffer just after parsing the simple
block header, and then expect sane data to follow.
Fixes matroskamux ! demux erroring out.
https://bugzilla.gnome.org/show_bug.cgi?id=754768
https://bugzilla.gnome.org/show_bug.cgi?id=657805
2015-09-10 16:05:53 +01: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
Vineeth TM
77c9e2cd4d
matroska: read: fix tag list memory leak
...
gst_toc_entry_merge_tags makes a new ref of the taglist, so it should
be unref'ed as soon as the tags are merged to the tocentry
https://bugzilla.gnome.org/show_bug.cgi?id=753904
2015-08-21 10:22:54 +03:00
Ravi Kiran K N
6eee26b24b
matroska: Remove unused variable
...
https://bugzilla.gnome.org/show_bug.cgi?id=753556
2015-08-13 14:11:12 +01:00
Tim-Philipp Müller
a95c761fde
matroskamux: fix outdated comment
...
The default behaviour was changed in the 0.10 -> 1.x
transition, but the comment was not updated.
2015-08-08 16:44:49 +01: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
Vineeth TM
72b86ae868
matroska: fix memory leak
...
After adding to tag list, key_val is not being free'd
resulting in memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=752992
2015-07-29 09:14:31 +01: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
Stefan Sauer
12930c2f8c
docs: fix "Symbol name not found at the start of the comment block"
...
Add symbols or change comment into a regular comment.
2015-07-07 17:12:02 +02: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
Vineeth T M
e97df1e097
lzo: fix memory leak
...
the opened file is not being closed during test, which will result
in memory leak.
https://bugzilla.gnome.org/show_bug.cgi?id=751306
2015-06-22 12:22:06 +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
Luis de Bethencourt
6d06a74f7f
matroska: overwritten value assignment
...
curpos is set and immediately after, set again. Remove the redundant
assignment.
https://bugzilla.gnome.org/show_bug.cgi?id=749909
2015-05-27 16:56:15 +01:00
Luis de Bethencourt
06d1ae313d
matroska: remove unused property enum items
2015-04-30 15:43:09 +01: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
Luis de Bethencourt
9391622579
Rename property enums from ARG_ to PROP_
...
Property enum items should be named PROP_ for consistency and readability.
2015-04-27 11:22:11 +01:00
Tim-Philipp Müller
d753a3eeb1
Remove obsolete Android build cruft
...
This is not needed any longer.
2015-04-26 17:55:07 +01:00
Guillaume Desmottes
592cab1512
matroska: fix GValue leaks when parsing tags
...
gst_tag_list_add_value() doesn't consume the GValue we pass to it so there is
no point copying it.
https://bugzilla.gnome.org/show_bug.cgi?id=746810
2015-03-30 08:59:36 -03:00
Mark Nauwelaerts
593cfa086c
matroskademux: resurrect some flow return handling
...
https://bugzilla.gnome.org/show_bug.cgi?id=744572
2015-03-29 13:58:56 +02:00
Thiago Santos
d56b11af56
matroska: store stream tags and push as updated
...
New tags can be found on different parts of the file, so this patch
keeps the stream taglists around for the life cycle of the pad
and adds those new tags as found. Then a new tag is found, the
pad's is marked with a tags changed flag, making the element push
a new tag event on the next check. Before this, we were sending
only the newly found tags, as the element was losing its taglist
when pushing the event.
2015-03-28 11:20:39 -03:00
Ramiro Polla
7b2b619a8f
matroskademux: send global tags incrementally
...
Instead of sending only new tags once they are found, merge the taglist
and send them incrementally.
2015-03-28 10:24:57 -03:00
Ramiro Polla
af45021036
matroskaparse: send global tags
...
Global tags are already being read in matroskaparse, but they are not
currently being sent.
This patch makes global tags get sent incrementally whenever new ones
are found.
https://bugzilla.gnome.org/show_bug.cgi?id=746242
2015-03-28 10:24:57 -03:00
Nicola Murino
bb3d82ef04
matroskademux: for dts only stream set pts=dts for intra only formats
...
https://bugzilla.gnome.org/show_bug.cgi?id=745192
2015-03-15 14:28:36 +00:00
Ramiro Polla
0fad053497
matroskademux: fix sending of tags
...
* Fix critical when new tags are found after segment event has already
been sent.
* Send global tags before stream tags.
* Split sending of tags out of gst_matroska_demux_send_event() into its
own function.
https://bugzilla.gnome.org/show_bug.cgi?id=745973
2015-03-14 18:17:48 +00:00
Luis de Bethencourt
db3ade5bfb
matroska: error mode if can't push buffer
...
If gst_pad_push() fails, inform and return flow error.
2015-03-09 12:51:21 +00:00
Luis de Bethencourt
f494da89b4
matroska: unused value
...
Value set in ret will be overwritten just before exiting the function.
CID #1226469
2015-03-09 12:13:40 +00:00
Nicola Murino
c4e542de69
matroskamux: Remove duration accumulation logic
...
Duration accumulation can cause rounding errors and generate wrong
duration with different buffers that share the same timestamp.
https://bugzilla.gnome.org/show_bug.cgi?id=745192
2015-03-04 11:37:48 +01:00
Nicola Murino
f727762c1f
matroska: Add an helper method to get buffer timestamps
...
... and replace GST_BUFFER_TIMESTAMP that always return PTS with this method
that return PTS or DTS based on stream type.
https://bugzilla.gnome.org/show_bug.cgi?id=745192
2015-03-04 11:36:24 +01:00
Nicola Murino
e676b8ba9c
matroskamux/demux: initialize dts_only
...
https://bugzilla.gnome.org/show_bug.cgi?id=745192
2015-02-27 09:56:06 +02:00
Nicola Murino
09b8f0efc3
matroskamux: store DTS for V_MS/VFW/FOURCC streams
...
https://bugzilla.gnome.org/show_bug.cgi?id=745192
2015-02-27 09:56:06 +02:00
Matej Knopp
fa283f407f
matroskademux: V_MS/VFW/FOURCC streams have DTS instead of PTS
...
When such stream is present demuxer should set DTS on buffers instead
of PTS. This is consistent with how VLC and libav/ffmpeg handle VFW
streams.
Sample file
https://s3.amazonaws.com/MatejK/Samples/Matroska-VFW-DTS-Only.mkv
https://bugzilla.gnome.org/show_bug.cgi?id=745192
2015-02-26 11:12:34 +02:00
Thiago Santos
7772a25fdc
matroskamux: store and write stream tags
...
Separate global from stream tags storage and write them to the
appropriate tags entry in the output
2015-02-02 20:07:13 -03:00
Jan Schmidt
4a77c8a84f
matroska: Fix seeking past the end of the file in reverse mode.
...
Snap to the end of the file when seeking past the end in reverse mode,
and also fix GST_SEEK_TYPE_END and GST_SEEK_TYPE_NONE handling
for the stop position by always seeking on a segment in stream time
2015-01-31 06:15:44 +11:00
Luis de Bethencourt
1e15808563
matroskademux: remove unnecessary check
...
No matter if gst_matroska_read_common_parse_index_cuetrack () returns that the
flow is OK or not, the check there will be a break from the switch. Removing the
check since the outcome is the same.
CID #1265762
2015-01-23 17:35:51 +00:00
Edward Hervey
932b32bb6e
matroskamux: Avoid using freed variable
...
the name variable might have been attributed to pad_name, make sure we
free it only *after* pad_name has been used.
Coverity CID : 1265774
2015-01-23 15:16:25 +01:00
Edward Hervey
9fa85f72e1
matroska: Avoid debugging below category threshold
...
This part alone was what made the matroska thread take a full core
on an android phone ...
2015-01-21 15:26:41 +01:00
Sebastian Dröge
67d4b85d6a
matroskademux: Improve detection of being stuck at the same offset
...
Only error out if we read from the same position again and got the
same length. Just the same position is not necessarily enough.
2014-12-29 15:35:19 +01:00
Sebastian Dröge
e596a3b6a7
matroskademux: Don't get stuck at the same offset when searching for clusters
...
This could happen if there is an invalid cluster with size 0, and in that
case just error out instead of looping forever.
2014-12-29 15:02:52 +01:00
Edward Hervey
cbe56d2331
matroska-demux: Cache upstream length
...
Instead of constantly querying upstream, just cache the last duration,
and in the unlikelyness we might have gone over query again before
deciding we are EOS.
Cut 15% cpu off matroskademux streaming thread (srsly...)
2014-12-19 10:59:18 +01:00
Vincent Penquerc'h
b7413279d9
matroska: mux/demux the OpusHead header
...
This is meant to be so (https://wiki.xiph.org/MatroskaOpus - while
it is marked as a draft, this part was confirmed to be correct on
IRC), and allows one to determine whether a demuxed stream is
multistream or not, and thus set the multistream caps field
accordingly. In turn, this means downstream does not have to guess.
https://bugzilla.gnome.org/show_bug.cgi?id=740744
2014-12-18 11:38:49 +00:00
Nicola Murino
c466ff4748
matroskademux: set framerate 0/1 when duration is not known
...
https://bugzilla.gnome.org/show_bug.cgi?id=740130
2014-12-04 18:20:37 +01:00
Sebastian Dröge
7a909917b5
matroska-mux: Use G_DEFINE_TYPE() to register the pad instead of manually registering it
2014-11-09 11:04:33 +01:00
Göran Jönsson
ec05d3b6d8
matroskamux: make GstMatroskamuxPad get_type() function thread-safe
...
https://bugzilla.gnome.org/show_bug.cgi?id=739722
2014-11-07 21:20:31 +00:00