Commit graph

938 commits

Author SHA1 Message Date
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
Matej Knopp
cf12017ef8 matroskademux: make dvd palette change event sticky
So they don't get lost.

https://bugzilla.gnome.org/show_bug.cgi?id=709454
2013-10-05 10:55:03 +01:00
Ognyan Tonchev
30f62a2eec matroskademux: Fix memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=709266
2013-10-02 16:17:33 +02:00
Matej Knopp
40c0586c17 matroskademux: move the check for subtitle buffer being null terminated before validating UTF-8
https://bugzilla.gnome.org/show_bug.cgi?id=707933
2013-09-27 14:38:19 +02:00
Matej Knopp
a1a493dae4 matroskademux: update stream->pos when sending buffers so that gap events are not sent unnecessarily
https://bugzilla.gnome.org/show_bug.cgi?id=708505
2013-09-24 15:12:44 -07:00
Sebastian Dröge
d8841b4832 matroska-demux: Make sure that subtitle buffers are \0-terminated
https://bugzilla.gnome.org/show_bug.cgi?id=707933
2013-09-20 10:22:40 +02:00
Seán de Búrca
9d3dbd6581 matroskademux: Fix off-by-one in validation of UTF-8
https://bugzilla.gnome.org/show_bug.cgi?id=707933
2013-09-12 09:19:15 +02:00
Thiago Santos
193ce9110e matroskademux: Preserve seqnum when pushing seek upstream
After converting a seek from time to bytes, use the same seqnum
on the event that goes upstream
2013-09-10 17:57:49 -03:00
Matej Knopp
a5ceab82dd matroskademux: fix leaking buffer and caps
https://bugzilla.gnome.org/show_bug.cgi?id=707688
2013-09-07 15:50:36 +01:00
Wim Taymans
2a8566ddec matroska-mux: remove framerate restriction
Remove the framerate restriction on the caps.
2013-08-27 15:25:16 +02:00
Sebastian Dröge
9863e08839 matroskademux: Don't print warnings during flushing and stop as soon as possible
https://bugzilla.gnome.org//show_bug.cgi?id=705442
2013-08-08 11:53:15 +02:00
Sebastian Dröge
2e35b36aab gst: Don't swap start/stop for negative rates in the SEGMENT query 2013-07-29 12:12:41 +02:00
Sebastian Dröge
722ef42196 matroskademux: Implement SEGMENT query 2013-07-29 10:53:54 +02:00
Matej Knopp
7335b81c47 matroskademux: fix memory leak in check_subtitle_buffer
https://bugzilla.gnome.org/show_bug.cgi?id=704921
2013-07-26 17:11:31 +02:00
Thiago Santos
8bd12e12b3 matroskademux: fix seqnum handling for seeks
Use the same seqnum as the seek for flushes/segments that are
caused by the seek. Also do the same for segment events

Fixes #676242
2013-07-25 15:24:31 -03:00
Sebastian Dröge
57dd1189d5 matroskademux: Add support for group-id in the stream-start event 2013-07-22 15:30:13 +02:00
Arnaud Vrac
6e26f1d067 mastrokademux: do not push discont buffers if they aren't discont
Unset the discont flag instead of posssibly pushing a buffer with
a flag that's still set.

https://bugzilla.gnome.org/show_bug.cgi?id=682110
2013-07-17 18:10:11 +01:00
Jonas Holmberg
beebe2b7af matroskademux: Unlock stream lock after use
Stream lock of sink pad was not unlocked after non-updating seek.
2013-07-09 11:25:14 +02:00
Sebastian Dröge
75b5a54f17 matroskademux: Add MPEG4 video profile/level to the caps 2013-07-01 11:01:13 +02:00
Sebastian Dröge
423bddac6a matroskademux: Add AAC profile/level to the caps
https://bugzilla.gnome.org/show_bug.cgi?id=703312
2013-07-01 11:01:13 +02:00
Sebastian Dröge
3c9aba91dc matroska: Add initial VP9 support 2013-06-21 18:22:13 +02:00
Bruno Gonzalez
e89a48616b matroskademux: Don't unlock stream lock without locking it first
https://bugzilla.gnome.org/show_bug.cgi?id=702167
2013-06-14 14:10:13 +02:00
Tim-Philipp Müller
213cd2777b matroskademux: mark subtitle streams as sparse in stream-start event
And also mark the streams that should be selected by default if
marked so in the headers.

https://bugzilla.gnome.org/show_bug.cgi?id=600648
2013-06-12 15:31:22 +01:00
Sebastian Dröge
e2b46a776f matroskademux: Send stream headers after the segment event
https://bugzilla.gnome.org/show_bug.cgi?id=700799
2013-06-11 13:54:53 +02:00
Sebastian Dröge
4fdbf88a65 matroskaparse: Make sure to send a segment event before dataflow 2013-05-14 13:52:18 +02:00
Ognyan Tonchev
0584d5c4c9 matroskademux: add stream-format=raw to aac caps
https://bugzilla.gnome.org/show_bug.cgi?id=699303
2013-05-01 15:47:15 +02:00
Sebastian Dröge
b0b0557c48 gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
Tim-Philipp Müller
078ff16abe matroskademux: fix some debug messages 2013-04-03 00:49:37 +01:00
Arnaud Vrac
00b46b4744 matroskademux: handle TrueHD audio codec id
https://bugzilla.gnome.org/show_bug.cgi?id=697113
2013-04-02 22:47:54 +01:00
David Schleef
53f8b05b08 Use %03u for format in gst_pad_create_stream_id_printf() 2013-03-25 18:57:08 -07:00
Sebastian Dröge
539126c097 matroska: Include config.h, it's needed for _stdint.h 2013-03-03 11:59:31 +01:00
Tim-Philipp Müller
8004ae0369 matroskamux: fix up example pipeline in docs 2013-02-23 18:50:52 +00:00
Tim-Philipp Müller
f4cb0c4315 matroskademux: skip empty tags
instead of trying to add tags with empty strings, which
causes criticals at runtime.

https://bugzilla.gnome.org/show_bug.cgi?id=690358
2012-12-17 22:55:12 +00:00
Alexey Fisher
7e47e3b92d matroskamux: set appropriate block header flag for VP8 invisible frames
Useful for debugging mostly.

https://bugzilla.gnome.org/show_bug.cgi?id=654259
2012-12-16 23:30:13 +00:00
Tim-Philipp Müller
672ab8fb5b webmux: fix linking with shout2send element
Shout2send only accepts webm format, not matroska, but due
to a bug in matroskamux, webmmux's source pad is also created
with the matroska source pad template as pad template, which
makes the link function think it can't link webmmux to shout2send.

Also add unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=689336
2012-11-30 17:22:34 +00:00
Tim-Philipp Müller
230cf41cc9 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Tim-Philipp Müller
ef0805ea14 matroskademux: put streamheaders on vorbis/speex/flac/theora caps to make remuxing work
https://bugzilla.gnome.org/show_bug.cgi?id=640589
2012-10-30 23:29:46 +00:00
Alexey Fisher
29cd24bc41 matroskademux: mark invisible VP8 frames with the DECODE_ONLY flag
https://bugzilla.gnome.org/show_bug.cgi?id=654259
2012-10-27 14:46:02 +01:00
Руслан Ижбулатов
78193dfe71 matroskademux: Support recursive SimpleTags
Fixes #682644
Depends on #682615
2012-10-26 10:16:42 +02:00
Руслан Ижбулатов
cd719bb808 matroskademux: Expand the tag mapping.
* Also expose unknown tags as key=value pairs.
* Arrange tag map in the same order tags are listed in Matroska spec, leaving
unmapped tags as comments.
* More specific TODOs.
* Remove duplicate DATE define.

Fixes #682615
Depends on #682524
2012-10-26 10:12:52 +02:00
Sebastian Dröge
6c635ce64f matroskademux: Fix uninitialized variable compiler warning 2012-10-26 10:09:39 +02:00
Руслан Ижбулатов
71fd688ef0 matroskademux: Matroska tag TargetType support
* Reads TargetType and TargetTypeValue from a Tag.
* After Tag is completely read, processes taglist, substituting some of the
tags depending on target type value and the presence of video/subtitle streams.
* Supports reading two new simpletags - PART_NUMBER and TOTAL_PARTS

Depends on #682448
Fixes #682524
2012-10-26 10:08:18 +02:00
Руслан Ижбулатов
b75628f041 matroskademux: Per-track tags for Matroska
Requires Matroska file to have sane layout (track info before tag info).
Uses replace-merge.
Makes track UIDs 64-bit.

Fixes #682448
2012-10-26 10:03:55 +02:00
Mark Nauwelaerts
35cd53867c matroskamux: unsigned subtitle template 2012-10-19 16:14:01 +02:00
Mark Nauwelaerts
5742352e10 matroskamux: do not use unoffical V_MJPEG codec id
Since it's not spec'ed, consider it a VfW compatibility
case. Many applications (e.g. avidemux) don't understand
the unofficial V_MJPEG id.

Fixes #659837.

Conflicts:
	gst/matroska/matroska-mux.c
2012-10-18 18:29:40 +01:00
Tim-Philipp Müller
154404fa43 matroskamux: send stream-start 2012-09-23 16:33:35 +01:00
Stefan Sauer
f874922e1c collectpads: remove gst_collect_pads_add_pad_full
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:05:44 +02:00
Mark Nauwelaerts
f12ef67f56 ext, gst: only activate in pull mode if upstream is seekable 2012-09-11 17:44:51 +02:00
Tim-Philipp Müller
aeba106878 matroskamux: extract interlaced-ness of video track from interlace-mode field
instead of the old boolean "interlaced" field.
2012-09-03 12:46:03 +01:00
Tim-Philipp Müller
9bf90f47cf video/x-xvid -> video/mpeg,mpegversion=4 2012-09-03 02:51:24 +01:00
Tim-Philipp Müller
fb0f3c17f5 text/plain + text/x-pango-markup -> text/x-raw 2012-09-02 02:50:50 +01:00
Tim-Philipp Müller
b27ac94af2 gst_message_new_duration -> gst_message_new_duration_changed 2012-09-02 01:31:53 +01:00
Tim-Philipp Müller
4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Tim-Philipp Müller
bce47066ca video/x-dvd-subpicture -> subpicture/x-dvd 2012-08-20 23:30:38 +01:00
Sebastian Dröge
6f74b2afb7 gst: Set alignment at the correct place of GstAllocationParams 2012-08-08 17:41:31 +02:00
Sebastian Dröge
7b5925b5a4 gst: Add stream-id to stream-start events 2012-08-06 13:43:57 +02:00
Sebastian Dröge
46255d6ada matroskademux: Chain up to the parent class' query handler if no pad is provided 2012-08-06 10:59:18 +02:00
Tim-Philipp Müller
c074bfd0b9 gst_tag_list_free -> gst_tag_list_unref 2012-08-04 16:10:16 +01:00
Tim-Philipp Müller
5b4eb723b6 matroska: update for TOC API changes 2012-07-28 11:22:43 +01:00
Sebastian Dröge
0827f54b93 tag: Update for taglist/tag event API changes 2012-07-28 00:19:51 +02:00
Mark Nauwelaerts
1a46572aaa matroskademux: push mode: increase segment accuracy following seek
Conflicts:

	gst/matroska/matroska-demux.c
2012-07-24 21:15:49 +02:00
Mark Nauwelaerts
ea0729ff32 matroskademux: perform proper KEY_UNIT seek also in push mode
Conflicts:

	gst/matroska/matroska-demux.c
2012-07-24 21:15:49 +02:00
Mark Nauwelaerts
7e9dffa226 matroskademux: avoid NULL access when checking subtitle
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680388
2012-07-24 12:33:41 +02:00
Mark Nauwelaerts
d6ef204190 matroskademux: generate correct segment stream time
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680275
2012-07-23 17:38:43 +02:00
Mark Nauwelaerts
a5dfa3d689 matroskademux: proper parse recovery after seek
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680427
2012-07-23 15:45:33 +02:00
Sebastian Dröge
b4621cbb3a matroskademux: Non-update seeks should still make sure that reverse playback status is reset
Conflicts:
	gst/matroska/matroska-demux.c
2012-07-20 15:33:43 +02:00
Sebastian Dröge
9a83a0749e matroskademux: Properly initialize from_offset and from_time 2012-07-20 15:33:04 +02:00
Sebastian Dröge
b02034dda1 matroskademux: We need an index and index entry for reverse playback
Reverse playback does not work with index-less files yet.
2012-07-20 14:28:37 +02:00
Sebastian Dröge
6dbc6ad3cf matroskademux: Fix reverse playback for seeks without stop position
Conflicts:
	gst/matroska/matroska-demux.c
	gst/matroska/matroska-demux.h
2012-07-20 11:23:16 +02:00
Sebastian Dröge
42b5065cc4 matroskademux: Only take the stream_start_time into account for SET seeks
For other seeks the stream_start_time is already added to the
segment values.

Conflicts:
	gst/matroska/matroska-demux.c
2012-07-20 11:18:27 +02:00
Sebastian Dröge
9fdcad4aee matroskademux: Pass seek rate to upstream seek events in push mode
Fixes bug #679435.

Conflicts:
	gst/matroska/matroska-demux.c
2012-07-18 11:40:56 +02:00
Edward Hervey
f063e40af7 demux: Push STREAM_START event when needed 2012-07-13 13:51:48 +02:00
Mark Nauwelaerts
f1b435d1b5 update for riff field rename 2012-07-09 12:53:47 +02:00
Sebastian Dröge
aeafc3a093 gst: Implement segment-done event 2012-07-05 13:13:09 +02:00
Sebastian Dröge
2e90ff9bb9 matroskademux: Remove the TOC query handling 2012-07-05 12:35:49 +02:00
Sebastian Dröge
04e0bbef17 matroska: Update for new GstToc API
TOC support in matroskamux is disabled for now as it was broken anyway.
2012-07-05 12:28:59 +02:00
Sebastian Dröge
407bf06dc4 matroskademux: Only push the TOC event, the message is handled by the sinks 2012-07-03 17:34:10 +02:00
Tim-Philipp Müller
83cb4c63c3 matroska: update for GstToc API additions 2012-06-26 18:48:11 +01:00
Wim Taymans
e565f0d1ff matroska: set interlace-mode 2012-06-26 17:04:41 +02:00
Tim-Philipp Müller
2c04c30ec3 matroska-mux: update for GstTocSetter changes 2012-06-25 20:11:53 +01:00
Sebastian Dröge
dff2fec970 matroskademux: Return FALSE from queries if we can't answer POSITION/DURATION queries 2012-06-25 13:33:57 +02:00
Anton Belka
c3061f434b matroskademux: Return FALSE from TOC query if no TOC exists instead of an empty TOC 2012-06-25 09:47:59 +02:00
Tim-Philipp Müller
296783908c matroska: update for GstToc API changes 2012-06-24 22:51:16 +01:00
Wim Taymans
30d3dfee36 update for task api change 2012-06-20 10:33:42 +02:00
Matej Knopp
c55e492e80 matroska-demux: Send gap events for subtitle streams 2012-06-19 11:21:52 +01:00
Mark Nauwelaerts
8b1da8adb2 matroskademux: always perform full seek if seek is flushing
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677838
2012-06-11 13:12:26 +02:00
Sebastian Dröge
91ca34a0bb matroskademux: Update for TOC event API change 2012-06-06 14:17:08 +02:00
Wim Taymans
b5df4f0e62 update for tag event change 2012-06-06 13:02:12 +02:00
Tim-Philipp Müller
3986174aa9 flv, matroska: don't use GstStructure API on tag lists 2012-05-27 00:02:08 +01:00
Alessandro Decina
51c8cd805d matroskademux: increase NEWSEGMENT accuracy after seeking
demux->common.segment is populated during seek handling with the target
start/stop positions. Don't override them when sending out a NEWSEGMENT.

Conflicts:

	gst/matroska/matroska-demux.c
2012-05-24 14:31:55 +02:00
Alessandro Decina
66d95d808c matroskademux: don't discard the incoming seek segment on push based seeking
The incoming seek segment was being discarded leading to push based seeking
being potentially inaccurate.
2012-05-24 14:26:23 +02:00
Vincent Penquerc'h
93ce50f9b9 matroska: implement forward snapping keyframe seeking
Requires an index.
2012-04-30 10:37:57 +01:00
Tim-Philipp Müller
9c236b290d matroska: update for media type changes 2012-04-28 19:57:51 +01:00
Wim Taymans
fcfe6d9e28 matroskamux: set caps on srcpad
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674219
2012-04-20 13:35:35 +02:00
Mark Nauwelaerts
67e168aef4 collectpads2: rename to collectpads 2012-04-17 15:14:27 +02:00
Mark Nauwelaerts
04b4d30f2c misc: chain up to collectpads event handler 2012-04-16 16:37:49 +02:00
Edward Hervey
4aef223db0 matroska: Check return value of GstByteReader/Writer 2012-04-12 15:49:44 +02:00
Mark Nauwelaerts
ea397f60e4 Merge remote-tracking branch 'origin/0.10'
Conflicts:
	gst/flv/gstflvdemux.c
	gst/matroska/matroska-demux.c
2012-04-10 11:57:53 +02:00
Mark Nauwelaerts
dfda34ea24 matroskademux: some more segment handling tweaking 2012-04-10 11:38:08 +02:00
Tim-Philipp Müller
e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Mark Nauwelaerts
e90c67b3a9 matroskademux: cleanly initialize and set needed segment
Fixes #673165.
2012-04-06 16:12:36 +02:00
Sebastian Dröge
aa2cd462da gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
Sebastian Dröge
5cdd49bf25 gst: Update versioning 2012-04-04 14:37:47 +02:00
Stefan Sauer
bc761c94c7 mkv: port toc changes to 0.11 2012-04-02 23:35:43 +02:00
Stefan Sauer
50bc831c91 Merge branch '0.10'
Conflicts:
	gst/matroska/matroska-demux.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-read-common.c
	gst/matroska/matroska-read-common.h
2012-04-02 23:22:01 +02:00
Alexander Saprykin
113ba4ac3c matroska: add GstToc support for muxer 2012-04-02 22:11:51 +02:00
Alexander Saprykin
80f8a506be matroska: add support for GstToc in demuxer 2012-04-02 22:11:51 +02:00
Alexander Saprykin
bd7761635a matroska: add chapter support in GstMatroskaReadCommon 2012-04-02 22:11:51 +02:00
Alexander Saprykin
94c5f6dcc9 matroska: add GstToc support for muxer 2012-03-29 21:50:31 +02:00
Alexander Saprykin
76192af2ef matroska: add support for GstToc in demuxer 2012-03-29 21:50:31 +02:00
Alexander Saprykin
890b1752aa matroska: add chapter support in GstMatroskaReadCommon 2012-03-29 21:50:31 +02:00
Wim Taymans
69002aa24f update for buffer changes 2012-03-28 12:53:05 +02:00
Wim Taymans
e310ee8218 caps: improve caps handling
Avoid caps copy and leaks
2012-03-27 16:42:41 +02:00
Wim Taymans
c44cd8f55b Merge branch 'master' into 0.11
unport gdkpixbuf
not merged: https://bugzilla.gnome.org/show_bug.cgi?id=654850

Conflicts:
	docs/plugins/Makefile.am
	docs/plugins/gst-plugins-good-plugins-docs.sgml
	docs/plugins/gst-plugins-good-plugins-sections.txt
	docs/plugins/gst-plugins-good-plugins.hierarchy
	docs/plugins/inspect/plugin-avi.xml
	docs/plugins/inspect/plugin-png.xml
	ext/flac/gstflacdec.c
	ext/flac/gstflacdec.h
	ext/libpng/gstpngdec.c
	ext/libpng/gstpngenc.c
	ext/speex/gstspeexdec.c
	gst/audioparsers/gstflacparse.c
	gst/flv/gstflvmux.c
	gst/rtp/gstrtpdvdepay.c
	gst/rtp/gstrtph264depay.c
2012-03-22 11:53:24 +01:00
Wim Taymans
846f309522 update for memory api changes 2012-03-20 10:24:05 +01:00
Wim Taymans
513d480fbf don't pass random pointers to pull_range 2012-03-16 21:47:21 +01:00
Wim Taymans
ecaea36c3d update for memory api changes 2012-03-15 13:36:17 +01:00
Vincent Penquerc'h
ee1be9236f matroskademux: only unlock pad when it was locked
This fixes the mutex being unlocked too much and ending up allowing
other threads when they should not.

https://bugzilla.gnome.org/show_bug.cgi?id=671776
2012-03-12 15:20:33 +01:00
Wim Taymans
eb03b4de55 fix for caps api change 2012-03-12 11:47:35 +01:00
Wim Taymans
80dca40c35 fix for _do_simplify changes 2012-03-12 10:43:57 +01:00
Nicola Murino
3f4e4edaa2 gst: Fix some query leaks 2012-03-12 09:10:20 +01:00
Tim-Philipp Müller
cc0511f5d8 flvmux, matroskamux, qtmux: if in doubt about downstream seekability default to streaming=true
If downstream didn't answer our SEEKING query and told us
it's seekable, default to streaming=true. We couldn't do
this in 0.10 for backwards compatibility reasons, but we
can in 0.11. Play it safe.
2012-02-27 01:12:09 +00:00
Tim-Philipp Müller
f49410d698 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst/audioparsers/gstmpegaudioparse.c
2012-02-27 01:00:03 +00:00
Tim-Philipp Müller
f4afccff5c matroskamux: create streamable output if downstream is not seekable
Ignore the "streamable" property setting and create streamable
output if downstream is known not to be seekable (as queried
via a SEEKABLE query).

Fixes pipelines like webmmux ! appsink creating seemingly
corrupted output if streamable has not been set to true.
2012-02-25 15:56:30 +00:00
Wim Taymans
e71c7dc8f9 matrosk: fix segment update 2012-02-17 14:38:03 +01:00
Wim Taymans
225e98d623 Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacenc.c
	ext/jack/gstjackaudioclient.c
	ext/jack/gstjackaudiosink.c
	ext/jack/gstjackaudiosrc.c
	ext/pulse/plugin.c
	ext/shout2/gstshout2.c
	gst/matroska/matroska-mux.c
	gst/rtp/gstrtph264pay.c
2012-02-10 16:23:14 +01:00
Nicola Murino
32f8a04b57 matroskademux: avoid posting invalid duration for each frame
https://bugzilla.gnome.org/show_bug.cgi?id=666583
2012-02-06 10:23:51 +00:00
Wim Taymans
bb2bd604e0 update for HEADER flag 2012-01-30 17:16:51 +01:00
Vincent Penquerc'h
70565f0e75 matroskamux: remove obsolete variable, set but not used
Reported by andredieb on #gstreamer.
2012-01-28 23:35:50 +00:00
Vincent Penquerc'h
119f94bab7 matroskamux: do not free memory twice
A recent change to fix leaking codec ID string accidentally caused
one of the very few places that weren't leaking to now free twice.
2012-01-28 12:35:13 +00:00
Sebastian Dröge
cea52c0fde matroskamux: Fix size of output buffers 2012-01-26 11:50:47 +01:00
Sebastian Dröge
57fb67eb59 matroskademux: Properly use the alignment parameter of gst_buffer_new_allocate()
It's a bitmask for the alignment, not the alignment itself.
2012-01-26 11:29:11 +01:00
Sebastian Dröge
1f05fbf411 matroskamux: Properly unmap WRITE maps of the output buffers 2012-01-26 11:18:40 +01:00
Sebastian Dröge
a54c4d6bc4 matroskamux: Update for the new collectpads2 event handling API 2012-01-26 10:38:27 +01:00
Sebastian Dröge
6d97ac2996 matroskamux: Only forward the event when we didn't handle it ourselves 2012-01-25 18:42:07 +01:00
Sebastian Dröge
0b517ce9fb Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-good into 0.11 2012-01-25 12:49:34 +01:00
Sebastian Dröge
10554b271f Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacdec.c
	ext/jpeg/gstjpegenc.c
	ext/pulse/pulsesink.c
	sys/v4l2/gstv4l2src.c
2012-01-25 12:49:11 +01:00
Wim Taymans
684f504336 matroska: port to new memory API 2012-01-25 12:41:30 +01:00
Wim Taymans
583d39dd8d update for new memory API 2012-01-25 12:30:28 +01:00
Matej Knopp
b780639b2c Don't crash on empty laces
https://bugzilla.gnome.org/show_bug.cgi?id=665224
2012-01-24 14:09:48 +00:00
Mark Nauwelaerts
c588d568f1 matroska-demux: remove redundant variable 2012-01-20 17:10:37 +01:00
Wim Taymans
1584806634 port to new gthread API 2012-01-19 11:33:53 +01:00
Matej Knopp
d55f75f6f4 matroska: fix printf format compiler warnings
https://bugzilla.gnome.org/show_bug.cgi?id=662615
2012-01-15 18:31:27 +00:00
Mark Nauwelaerts
7002edbe2b matroskademux: clean up obsolete closing segment handling 2012-01-13 14:24:40 +01:00
Tim-Philipp Müller
d681af899b GST_TYPE_DATE -> G_TYPE_DATE 2012-01-12 23:55:31 +00:00
Tim-Philipp Müller
8580dd86c9 eqMerge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/jack/gstjackaudiosink.c
	ext/jack/gstjackaudiosrc.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-read-common.c
	gst/rtpmanager/gstrtpssrcdemux.c
2012-01-12 23:48:50 +00:00
Vincent Penquerc'h
f04d812719 matroska: do not leak attachment buffers 2012-01-12 14:19:22 +00:00
Nicola Murino
d1bb060d71 matroskamux: fix codec_priv leaks
https://bugzilla.gnome.org/show_bug.cgi?id=667419
2012-01-10 18:29:06 +00:00
Sebastian Dröge
93e3ed5a86 Merge branch 'master' into 0.11
Conflicts:
	ext/cairo/gsttextoverlay.c
	ext/pulse/pulseaudiosink.c
	gst/audioparsers/gstaacparse.c
	gst/avi/gstavimux.c
	gst/flv/gstflvmux.c
	gst/interleave/interleave.c
	gst/isomp4/gstqtmux.c
	gst/matroska/matroska-demux.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-mux.h
	gst/matroska/matroska-read-common.c
	gst/multifile/gstmultifilesink.c
	gst/multipart/multipartmux.c
	gst/shapewipe/gstshapewipe.c
	gst/smpte/gstsmpte.c
	gst/udp/gstmultiudpsink.c
	gst/videobox/gstvideobox.c
	gst/videocrop/gstaspectratiocrop.c
	gst/videomixer/videomixer.c
	gst/videomixer/videomixer2.c
	gst/wavparse/gstwavparse.c
	po/ja.po
	po/lv.po
	po/sr.po
	tests/check/Makefile.am
	tests/check/elements/qtmux.c
	tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Vincent Penquerc'h
2b2c0940f1 matroskamux: fix codec string leaks 2012-01-09 17:28:17 +00:00
Sebastian Dröge
dd84b002b0 matroska: Update for the new raw audio interleaved caps field
Still needs to be fixed to handle the multichannel channel-mask
and reordering.
2012-01-05 10:30:34 +01:00
Wim Taymans
5fd2b7abe3 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:26:21 +01:00
Tim-Philipp Müller
0f3e05e580 matroska: update for GstIndex removal 2011-12-30 17:41:46 +00:00
Branko Subasic
a7d6690f92 matroskademux: do not consider duration of non-finalized file
... to avoid it clamping requested seek position.

Non-finalized file case, determined by whether
_parse_blockgroup_or_simpleblock ever updates the segment duration.

Fixes #652195.
2011-12-21 18:14:26 +01:00
Mark Nauwelaerts
628ae5c1a1 matroskademux: improve decision to fall back to scanning when seeking
... which is basically iff not streaming and no entry found in index
2011-12-21 15:45:36 +01:00
Mark Nauwelaerts
f06d741633 matroskamux: bring a few debug statements up to specs
... and minor spelling fix.
2011-12-19 17:44:55 +01:00
Mark Nauwelaerts
0626724262 matroskamux: additional subtitle support 2011-12-19 17:44:52 +01:00
Mark Nauwelaerts
0845a3718a matroskamux: additional buffer handling cleanup 2011-12-19 17:44:43 +01:00
Mark Nauwelaerts
7723d64a73 matroskamux: use GstCollectPads2 buffer callback and running time clipper 2011-12-19 17:44:41 +01:00
Mark Nauwelaerts
f6b38f2c39 matroskamux: use GstCollectPads2 event callback
... in stead of local HACK.
2011-12-15 16:31:36 +01:00
Vincent Penquerc'h
c422a4e2e6 matroskamux: port to GstCollectPads2 2011-12-14 19:07:23 +00:00
Mark Nauwelaerts
ebfc77da19 matroskademux: filter bogus index entries with missing block number
... to avoid contradictory information resulting in seeks sending more
downstream than needed for the corresponding segment.
2011-12-13 18:20:49 +01:00
Mark Nauwelaerts
00ed34d2eb matroskademux: cater for safer arithmetic with global start time 2011-12-13 18:20:47 +01:00
Mark Nauwelaerts
fd88096577 matroskademux: tweak final closing segment sending
... to avoid it interfering with (sparse) stream syncing.
2011-12-13 18:20:44 +01:00
Mark Nauwelaerts
581ca6ce4e matroskademux: mind (un)signed in some timestamp arithmetic
... to avoid ending up with invalid (negative) duration.
2011-12-12 15:23:50 +01:00
Tim-Philipp Müller
b8b8454bcb Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
b50bee2617 Merge remote-tracking branch 'origin/master' into 0.11 2011-12-09 12:15:30 +00:00
Tim-Philipp Müller
c363ae8254 matroskamux: stream-format=raw goes with aac caps, not mp3 caps 2011-12-08 11:00:45 +00:00
Tim-Philipp Müller
668e15598b Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	sys/v4l2/gstv4l2object.c
2011-12-08 01:28:26 +00:00
Vincent Penquerc'h
3e2b23280e matroskaparse: warn if accumulating headers after they were pushed
https://bugzilla.gnome.org/show_bug.cgi?id=665412
2011-12-03 18:44:39 +00:00
David Schleef
94b8f0b74e matroskaparse: fix parsing
Mark more parts as belonging to streamheaders.
2011-12-03 10:40:03 -08:00
Tim-Philipp Müller
d895ac645f Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	docs/plugins/inspect/plugin-esdsink.xml
	docs/plugins/inspect/plugin-gconfelements.xml
	ext/pulse/pulseaudiosink.c
	gst/matroska/matroska-demux.c
	gst/matroska/matroska-mux.c
	gst/multifile/gstmultifilesink.c
2011-12-02 01:58:30 +00:00
Wim Taymans
f1558baf83 update for tag API changes 2011-12-01 18:55:45 +01:00
Vincent Penquerc'h
47182ca61f matroskademux: placate gcc since -Werror is used
Initialize values that GCC cannot prove are not used without
being initialized, and assert that I did not mess up my proof.
2011-12-01 15:29:15 +00:00
Tim-Philipp Müller
337533ee84 matroska-mux: fix name of new property and the unit test
https://bugzilla.gnome.org/show_bug.cgi?id=654379
2011-12-01 13:22:42 +00:00
Sebastian Dröge
6ec601fa12 matroskademux: Don't forget SSA subtitles in last commit 2011-12-01 13:38:06 +01:00
Sebastian Dröge
588734b291 matroskademux: Only check for markup and escape if necessary for plaintext subtitles
Otherwise we break USF and ASS/SSA subtitles.
2011-12-01 13:35:54 +01:00
Sebastian Dröge
6d4a634626 matroskademux: Copy all buffer flags when creating a subtitle buffer copy after postprocessing
This also copies the caps. Otherwise we could end up pusing
the first buffer without any caps, which causes downstream
to not get notified about the caps.

Fixes bug #664892.
2011-12-01 12:47:26 +01:00
Alexey Fisher
23594b0324 matroskamux: make default framerate optional per stream
there is at least two use cases where default frame rate
should or may be disabled:
- vp8 stream with altref frame enabled. If default frame rate
is enabled, some players will missinterprete it (critical!)
- for webm container, to reduce micro overhead
- for stream with variable frame rate.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
2011-12-01 10:55:57 +01:00
Wim Taymans
c36325f0aa Update for indexable change 2011-11-28 18:25:52 +01:00
Vincent Penquerc'h
c0e101e93f various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Tim-Philipp Müller
dc540c23da Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst/equalizer/gstiirequalizer.c
2011-11-27 23:31:43 +00:00
Tim-Philipp Müller
54a951ff15 matroskademux: initialise seen_markup_tag field on subtitle stream context 2011-11-26 16:06:59 +00:00
René Stadler
17240ac9ec matroska: port to 0.11
Support for TAG_IMAGE and TAG_ATTACHMENT is commented out; this requires caps
on buffers which is gone from 0.11.

Segment handling in the demuxer is a bit complex; I added some FIXME comments
in places where I'm not yet sure if I ported correctly.
2011-11-26 15:01:01 +01:00
Wim Taymans
c5cad2aff2 Merge branch 'master' into 0.11 2011-11-23 10:23:28 +01:00
Tim-Philipp Müller
80be58c4f5 matroskaparse: don't leak stream headers
https://bugzilla.gnome.org/show_bug.cgi?id=664548
2011-11-23 01:00:14 +00:00
Stefan Sauer
8643d1caaf collectpads: port API changes 2011-11-17 08:44:45 +01:00
Wim Taymans
95f3987332 Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacdec.c
	gst/audioparsers/gstflacparse.c
	gst/isomp4/qtdemux.c
2011-11-09 12:18:01 +01:00
René Stadler
2a139a28d9 matroskamux: fix regression causing malformed files
This was caused by me in 1b213d. It seems I was too focused on 0.11 when I did
this and tested the wrong branch.

The problem was reported by Alexey Fisher.
2011-11-07 12:00:12 +01:00
Wim Taymans
a19a4a69ae more template fixes 2011-11-04 13:12:37 +01:00
Wim Taymans
a95acb7122 make %u in all request pad templates 2011-11-04 11:58:22 +01:00
Mark Nauwelaerts
00c8ae733d matroskamux: do not use unoffical V_MJPEG codec id
... but as not spec'ed especially, consider it a VfW compatibility case.

Fixes #659837.
2011-10-31 15:47:14 +01:00
Mark Nauwelaerts
4924308d02 matroskademux: tune non-update seek handling cases
Fixes #661049.
2011-10-28 12:13:51 +02:00
René Stadler
1b213d905a matroska: refactor ebml-write to be more 0.11 friendly
Switching to a more 0.11-friendly pattern, where getting the buffer's data
pointer and setting the size many times is less natural. This is of course in
preparation to the upcoming port of the plugin.
2011-10-21 23:17:16 +02:00
René Stadler
003a14e15a matroska: remove stale floatcast include
GDOUBLE_TO_BE was moved to core a long time ago.
2011-10-21 22:41:57 +02:00
René Stadler
6fc85e6c9d matroskamux: fix possible crash with malformed dirac codec_data
Since size is unsigned, we need to safeguard against wrapping below zero.
2011-10-21 22:41:57 +02:00
René Stadler
5baca05ec3 ebml: small correction to previous commit
Signal a short read with UNEXPECTED, exactly like the peek_bytes function.
2011-10-21 10:03:14 +02:00
Edward Hervey
4b5f8ff8d1 ebml: Fix push-based behaviour
The 'peek' method was completely wrong (!?)
2011-10-19 13:10:47 +02:00
René Stadler
26d0812543 matroskamux: fix segment handling, so we actually use running time
gst_matroska_mux_best_pad adjusts the buffer timestamp to running time using
the segment stored in the pad's collect data. However, the event handler didn't
pass the newsegment event on to collectpads' handler, so this segment was never
updated at all.

Re-fixes bug #432612.
2011-10-11 14:58:43 +02:00
Tim-Philipp Müller
ad245a0dc2 matroska-demux: don't leak audio codec_data buffer 2011-10-10 19:02:58 +01:00
Vincent Penquerc'h
be82dd8e3a matroskademux: improve segment handling with non-zero starting timestamp
... as well as related items, such as seeking and position reporting.

https://bugzilla.gnome.org/show_bug.cgi?id=659808
2011-10-05 14:34:55 +02:00
Vincent Penquerc'h
671b56f9da matroskademux: ensure minimal alignment for audio/x-raw-* buffers
Since matroskademux will attempt to push unaligned buffers,
downstream might have trouble with those, especially if downstream
uses ORC, such as audioconvert.

Ensure we push buffers aligned to the basic type at least for
those raw buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=659798
2011-09-28 12:49:42 +02:00
Branko Subasic
11b0a0effc matroskademux: Avoid sending EOS when in paused state
Changed the ebml reader's gst_ebml_peek_id_length() function so
that it returns the actual reason for why the peek failed, instead
of (almost) always returning GST_FLOW_UNEXPECTED. This prevents
the pulling task from sending EOS when doing a flushing seek.
2011-09-16 15:18:48 +02:00
Vincent Penquerc'h
26ae233035 matroskademux: fix stuttering A/V
Someone got had by implicit promotion to unsigned in ops with
a signed and an unsigned value.

https://bugzilla.gnome.org/show_bug.cgi?id=659153
2011-09-15 17:29:00 +01:00
David Svensson Fors
682ae32f6f matroskademux: configurable timestamp gap handling
matroskademux performs segment tricks to skip gaps in streams,
notably at start for non 0 based files.  There may however be
cases when full presentation (including intermediate gaps) is
desired, so a property allows to configure as of which gap
to act (or not at all).

API: GstMatroskaDemux::max-gap-time

Fixes #659009.
2011-09-14 14:49:36 +02:00
Mark Nauwelaerts
ef1ad78eee matroskademux: tweak gap handling
... so as to avoid buffers before and after gap to have identical running time.
2011-09-08 15:10:43 +02:00
Andoni Morales Alastruey
782fc78d57 matroskamux: handle GstForceKeyUnit event
... by starting a new cluster after forwarding event.

Fixes #644154.
2011-09-07 14:51:56 +02:00
Mark Nauwelaerts
aa0ae490d0 matroskamux: make default duration check less sensitive
Frame duration might vary for 1 usecond, in this case matroskamux
decides to create BLOCKGROUP instead of SIMPLEBLOCK.

Convert duration to timecodescale which is (typically) less precise, and
then also allow the difference of 1/-1 to arrange for less sensitive check.

Based on patch by Alexey Fisher <bug-track@fisher-privat.net>

Fixes #653080.
2011-09-06 15:09:13 +02:00
Vincent Penquerc'h
e032d26674 matroskademux: ensure no-more-pads is always emitted
In particular, do so even if failing to read while prerolling,
such as when reading from a partial file (eg, while it is being
downloaded).

This fixes a wedge in playbin2.

https://bugzilla.gnome.org/show_bug.cgi?id=651965
2011-08-18 11:30:07 +02:00
Jan Schmidt
1438bf26ac matroska: Register new debug category
Register the matroskareadcommon debug category when the
plugin is loaded to avoid assertion output when debug is turned on.
2011-08-03 22:52:07 +10:00
Alexey Fisher
69c14012c9 matroskademux: fix pixel-aspect-ratio if header has only one display variable
Current matroska demux calculates the pixel aspect ratio only if both
DisplayHeight and DisplayWidth are set, but it is legal to use only
one variable if the other is equal to PixelWidth or PixelHeight, at
least the mkclean utility is doing that. So this makse mkcleaned
files play correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=654744
2011-07-17 00:11:03 +01:00
Alexey Fisher
a2e0bda3b5 matroskademux: handle blocks with duration=0
Some video frames, for example alt-ref frame in VP8, will be
never displayed. This is why it has duration=0.

This patch allow to use this duration.

Bug: 654175
Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
2011-07-08 09:58:29 +02:00
Branko Subasic
e385108f84 matroskademux: avoid looping when searching for clusters
Fixes some bugs that results in the demuxer looping when seaching
for clusters in non-finalized files.

https://bugzilla.gnome.org/show_bug.cgi?id=652195
2011-07-01 17:19:40 +01:00
Debarshi Ray
c8619aa0fd matroskaparse: fix reference counting of parse->streamheader
https://bugzilla.gnome.org/show_bug.cgi?id=652286

Signed-off-by: David Schleef <ds@schleef.org>
2011-06-29 23:56:53 -07:00
Stefan Kost
b5d5fa2bb9 matroska: add missing stdio include for sscanf 2011-06-14 01:07:57 +03:00
Debarshi Ray
9175a903fb matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_parse_chapters

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:54:23 +02:00
Debarshi Ray
05778b85d5 matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_parse_attachments

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:43:12 +02:00
Debarshi Ray
d8a8326d7c matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_parse_attached_file

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:43:04 +02:00
Debarshi Ray
366f064e73 matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_parse_info

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:42:55 +02:00
Debarshi Ray
2d282a6c79 matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_parse_metadata

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:42:46 +02:00
Debarshi Ray
493e197588 matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_parse_metadata_id_tag

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:42:33 +02:00
Debarshi Ray
febfcce0fd matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_parse_metadata_id_simple_tag

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-06-06 14:41:51 +02:00
Debarshi Ray
25e0da562b matroskaparse: Use ARTIST tag instead of AUTHOR for GST_TAG_ARTIST
AUTHOR only existed in an old version of the spec and ARTIST is
the new replacement for this. We are still reading both to still
be compatible with old files.

Fixes bug #644875.
2011-06-04 13:43:27 -07:00
David Schleef
0672232b26 matroskamux: For streaming files, push tags first 2011-06-01 17:20:44 -07:00
Debarshi Ray
399fc9cd1c matroska: refactor code common to matroskademux and matroskaparse
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_parse_header

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 17:43:01 +02:00
Debarshi Ray
bc7d61abca matroska: refactor code common to matroskademux and matroskaparse
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_get_seek_track
    - gst_matroska_{demux,parse}_reset_streams

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 07:57:30 +02:00
Debarshi Ray
17ff8a73d8 matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska{demux,parse}_found_global_tag

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 07:57:06 +02:00
Debarshi Ray
eeb4d19992 matroska: refactor code common to matroskademux and matroskaparse
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_index_seek_find
    - gst_matroska{demux,parse}_do_index_seek

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 07:56:54 +02:00
Debarshi Ray
1a6e658444 matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_tracknumber_unique

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 07:56:44 +02:00
Debarshi Ray
0aa35a6bcc matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_decode_data

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 07:56:38 +02:00
Debarshi Ray
b437744b70 matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_get_length

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-30 07:56:21 +02:00
Debarshi Ray
5ba333bcad matroska: refactor code common to matroskademux and matroskaparse
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_encoding_cmp
    - gst_matroska_{demux,parse}_read_track_encodings

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-27 09:10:17 +02:00
Debarshi Ray
2589f1cd2d matroska: refactor code common to matroskademux and matroskaparse
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_peek_id_length_pull
    - gst_matroska_{demux,parse}_peek_id_length_push

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-27 09:09:33 +02:00
Debarshi Ray
f3820b61a1 matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_peek_adapter

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-27 09:09:10 +02:00
Mark Nauwelaerts
74e0c05ff7 matroskademux: UTF-8 subtitles may have markup
Fixes #616936.
2011-05-26 12:12:57 +02:00
Debarshi Ray
5384308c99 matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_peek_pull

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-25 20:02:40 +02:00
Debarshi Ray
72d969b360 matroska: refactor code common to matroskademux and matroskaparse
Move the following function to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_peek_bytes

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-25 10:16:31 +02:00
Debarshi Ray
f885e2721a matroska: refactor code common to matroskademux and matroskaparse
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_{demux,parse}_encoding_order_unique
    - gst_matroska_{demux,parse}_read_track_encoding

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-25 10:13:27 +02:00
Debarshi Ray
b316e2346c matroska: fixed copyright headers
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-24 09:53:54 +02:00
Debarshi Ray
85036682cb matroska: refactor code common to matroskademux and matroskaparse
Move the following functions to matroska-read-common.[ch] from
matroska-demux.c and matroska-parse.c:
    - gst_matroska_decode_content_encodings
    - gst_matroska_decompress_data

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-24 09:53:45 +02:00
Debarshi Ray
51c7e6d252 matroska: move GstMatroska{Demux,Parse}::state to GstMatroskaReadCommon
https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-24 09:52:50 +02:00
Debarshi Ray
15ce1142ca matroska: refactor code common to matroskademux and matroskaparse
Replace the following functions with their gst_matroska_read_common_*
counterparts:
    - gst_matroska_{demux,parse}_parse_index
    - gst_matroska_{demux,parse}_parse_skip
    - gst_matroska_{demux,parse}_stream_from_num

Introduce GstMatroskaReadCommon to contain those members of
GstMatroskaDemux and GstMatroskaParse that were used by the above
functions.

https://bugzilla.gnome.org/show_bug.cgi?id=650877
2011-05-23 17:21:52 +02:00
Debarshi Ray
4df5d896f0 matroskaparse: calculate segment duration after parsing all the IDs
Since the segment duration is given in terms of the
GST_MATROSKA_ID_TIMECODESCALE we should only convert it into
nanoseconds when we are sure that any scale specified in the file has
been read.

https://bugzilla.gnome.org/show_bug.cgi?id=650258
2011-05-17 09:03:50 +02:00
Mark Nauwelaerts
8b910885ec matroskademux: additional lock safety
Fixes #619590.
2011-05-16 13:30:10 +02:00
Debarshi Ray
bdc464a778 matroskademux: calculate segment duration after parsing all the IDs
Since the segment duration is given in terms of the
GST_MATROSKA_ID_TIMECODESCALE we should only convert it into
nanoseconds when we are sure that any scale specified in the file has
been read.

https://bugzilla.gnome.org/show_bug.cgi?id=650258
2011-05-16 08:56:06 +02:00
Mark Nauwelaerts
fc94b78fe1 matroskamux: avoid building index when streamable
... as it will not be written anyway.

Fixes #648937 (?).
2011-05-04 13:12:16 +02:00
David Schleef
bddac50961 avimux,matroskamux: Add stream-format to h264 caps
Fixes #606662.
2011-04-24 18:56:02 -07:00
Tim-Philipp Müller
c2bc6327cd deinterlace, matroska: fix two variable-may-be-used-uninitialized compiler warnings
We use -DG_DISABLE_ASSERT for the pre-releases, which makes these
warnings pop up in cases that were previously covered by g_assert_not_reached()
and the like:
tvtime/greedyh.c:801:14: warning: 'scanline' may be used uninitialized in this function
matroska-mux.c:501:19: warning: 'context' may be used uninitialized in this function
2011-04-16 16:51:32 +01:00
Robert Swain
d596c2e926 matroska: Remove unused but set variables
GCC 4.6.x spits warnings about such variable usage.
2011-04-16 12:40:53 +01:00
David Schleef
41f3b30010 matroskademux: Better calculation of framerate
https://bugzilla.gnome.org/show_bug.cgi?id=647833
2011-04-15 12:27:57 +01:00
Sebastian Dröge
54349be39f matroskaparse: Allow webm and matroska caps and don't leak caps 2011-04-14 13:27:27 +02:00
Tim-Philipp Müller
d3a24dc842 matroskademux: set stream-format=byte-stream on h264 caps if there's no codec data
https://bugzilla.gnome.org/show_bug.cgi?id=606662
2011-04-13 16:47:05 +01:00
Thibault Saunier
b541208b77 android: Make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:20:11 +02:00
Sebastian Dröge
cea556b75c matroskamux: Add support for A-Law and µ-Law
Fixes bug #646567.
2011-04-05 14:29:59 +02:00
Mark Nauwelaerts
dd19a7edad matroskamux: use running time for synchronization
Fixes #432612.
2011-03-22 20:55:37 +01:00
Sebastian Dröge
5b977c4fec matroska: Mark tag mapping tables as static const 2011-03-16 09:39:20 +01:00
Sebastian Dröge
7db758164d matroskamux: Use ARTIST instead of AUTHOR for GST_TAG_ARTIST 2011-03-16 09:39:20 +01:00
Sebastian Dröge
52aa27f997 matroskademux: Use ARTIST Matroska tag instead of AUTHOR for GST_TAG_ARTIST
AUTHOR only existed in an old version of the spec and ARTIST is
the new replacement for this. We are still reading both to still
be compatible with old files.

Fixes bug #644875.
2011-03-16 09:39:20 +01:00
Andoni Morales Alastruey
0ed0174ea9 matroskamux: return TRUE from sink pad event function for tag events, which are handled
https://bugzilla.gnome.org/show_bug.cgi?id=644730
2011-03-14 17:08:46 +00:00
Edward Hervey
6e1c701502 Revert "Check that collectpads exists before removing pad"
This reverts commit 8e6b876e76.

Depends on a core commit that was reverted
2011-02-21 12:25:19 +01:00
David Schleef
8e6b876e76 Check that collectpads exists before removing pad
The core now calls release pad from finalize, at which point
the collectpads might have already been freed.
2011-02-20 23:46:01 -08:00
David Schleef
e017e14847 matroskaparse: New element
Copied from demux.  Duplicates much code, also some dead code
remaining.
2011-02-17 18:05:43 -08:00
David Schleef
eab982ce60 matroskademux: Earlier debug category initialization 2011-02-17 18:05:43 -08:00
Stefan Kost
8d5be2e8a4 matroskamux: rework _request_new_pad to handle explict req-pad-names
Don't ignore explicit pad-names.
2011-02-16 17:15:28 +02:00
Mark Nauwelaerts
d466f07def matroskademux: avoid sorting NULL array of cluster positions 2011-02-14 17:57:33 +01:00
Mark Nauwelaerts
b70f4b6ffa matroskademux: store cluster positions provided by SeekHead
... and use those, if available, to locate a cluster rather than scanning.
2011-02-10 18:17:31 +01:00
Mark Nauwelaerts
9de84b45bc matroskademux: properly resume cluster scanning
... rather than getting offset tracking messed up, and then likely
failing a subsequent assert.
2011-02-09 16:27:00 +01:00
Ognyan Tonchev
0add79cbf1 matroskamux: don't leak ebml writer caps when re-using matroskamux
https://bugzilla.gnome.org/show_bug.cgi?id=640542
2011-01-26 08:51:04 +00:00
Mark Nauwelaerts
68fc03fd76 matroskademux: pull mode should always report seekable
... as it no longer requires an index, but can seek by scanning as well.
2011-01-24 22:24:28 +01:00
Mark Nauwelaerts
0124302b58 matroskamux: avoid creating caps from string when possible
Fixes #639516.
2011-01-14 16:25:14 +01:00
Tim-Philipp Müller
68fa8f3417 matroska: don't put essential function calls into g_assert()
g_assert() will expand to NOOPs if -DG_DISABLE_ASSERT is passed.
2011-01-07 02:06:51 +00:00
Stefan Kost
a570310cdc matroska-demux: remove unused variables when debug-logging disabled 2011-01-03 20:17:47 +02:00
Tim-Philipp Müller
3a66829087 matroska-demux: increase allowed max. block size for push mode from 10M to 15M
It was an arbitrary limit from the start, meant as a basic sanity check,
so may just as well increase it a little. Would be good to provide
progress reporting while completing the block in any case..

https://bugzilla.gnome.org/show_bug.cgi?id=637060
2010-12-29 23:38:18 +00:00
Tim-Philipp Müller
c8fc90fd37 matroska-demux: assume matroska if no doctype is specified
https://bugzilla.gnome.org/show_bug.cgi?id=638019
2010-12-29 23:09:04 +00:00
Rob Clark
02cb1dd7b5 matroska-demux: add stream-format and alignment properties for h264 2010-12-23 16:12:51 -06:00
Sebastian Dröge
1d74f568a3 matroskademux: Don't use gst_pad_alloc_buffer()
Using this in a demuxer will cause deadlocks if there's
a pad with a pending pad-block downstream, no matter if
there is a queue between the pad or not. Queues pass
bufferalloc downstream from the same thread and only
act as a thread boundary for events and buffers.
2010-12-22 20:01:16 +01:00
Tim-Philipp Müller
331bcfbdfc matroskamux: fix subtitle pad template, we only handle kate for now 2010-12-22 14:14:08 +00:00
Tim-Philipp Müller
d73440cb97 matroska-demux: put unrecognised RIFF format IDs into the unknown caps
Extra info can't hurt. Field names aren't necessarily consistent with
what's used elsewhere though (e.g. avidemux), but then neither are the
caps.

https://bugzilla.gnome.org/show_bug.cgi?id=623178
2010-12-11 14:53:28 +00:00
Andoni Morales Alastruey
fd6bc949c8 matroskamux: try to write timestamps in all the outgoing buffers
Fixes #632654.
2010-12-06 13:01:17 +01:00
Mark Nauwelaerts
b9048fd953 matroskademux: minor cleanups in setting streamheader on caps 2010-12-03 15:50:30 +01:00
Mark Nauwelaerts
7be2ee8710 matroskademux: normalize empty Cues to no Cues
... to trigger indexless seeking.
2010-12-03 15:50:30 +01:00
Sebastian Dröge
d9a1f3d628 matroskamux: Add support for E-AC3 2010-12-02 19:18:02 +01:00
Sebastian Dröge
01c4117037 matroskamux: Add support for DTS 2010-12-02 19:18:02 +01:00
Philip Jägenstedt
7fcd7d8cf2 matroskademux: Remove useless clearing of send_xiph_headers for Dirac
This looks like a mistake when copy-pasting the Theora code.

https://bugzilla.gnome.org/show_bug.cgi?id=632682
2010-10-23 16:10:14 +01:00
Philip Jägenstedt
6cf398cdf3 matroskademux: don't crash if vorbis/theora codec data is missing
Error out properly in this case instead of crashing.

https://bugzilla.gnome.org/show_bug.cgi?id=632682
2010-10-23 14:05:46 +01:00
Mark Nauwelaerts
4085f12058 ac3: demuxers provide framed output 2010-10-14 17:29:26 +02:00
Tim-Philipp Müller
7a8ebc4a79 matroskamux: reduce newsegment event spam and set discont flag where needed
Only send newsegment events with new positions downstream when actually
needed, instead of sending multiple newsegment events with new seek
positions in a row. Also set the discont flag on buffers after a
discontinuity.
2010-10-14 14:00:59 +01:00
Tim-Philipp Müller
84e47e579b matroskamux: set correct buffer offsets after seeks
Re-use the existing 'pos' field maintained by ebml writer to set
buffer offsets. This also makes sure that we set the right offsets
on buffers after a seek (e.g. when writing an index at the end).
2010-10-14 12:48:33 +01:00
Tim-Philipp Müller
6ff3dfe946 matroskamux: don't forward tag events downstream
Don't forward stream-specific tag events downstream (esp. not
before any newsegment event).x
2010-10-14 12:48:00 +01:00
Stefan Kost
d8167e3071 various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
Zaheer Abbas Merali
6f0030f701 matroskamux: make buffer offsets a byte count rather than a buffer count 2010-10-13 07:17:24 +01:00
Zaheer Abbas Merali
f012ab67cc matroskamux: set offsets on outgoing buffers 2010-10-10 14:44:43 +01:00
Mark Nauwelaerts
bb9a8a9b7d matroskademux: only unref buffer when no longer needed for cluster scanning
Fixes #629047.
2010-10-05 16:03:10 +02:00
Mark Nauwelaerts
e0d11f0644 matroskademux: avoid infinite cluster scanning 2010-10-05 16:03:08 +02:00
Arun Raghavan
9e786de9c8 matroskademux: Use pbutils for H.264 profile/level extraction
The functions used to extract this data have been moved to gstpbutils to
facilitate reuse.

https://bugzilla.gnome.org/show_bug.cgi?id=617318
2010-10-01 16:58:46 +01:00
Mark Nauwelaerts
91a60245b7 matroskademux: QoS handling logic only applies to forward playback
Fixes #628894.
2010-09-08 17:51:34 +02:00
Mark Nauwelaerts
13b553bce7 matroskademux: attempt more resync upon (cluster) parse error
That is, if parse error occurs in state requiring to move to next cluster,
and doing so to the expected next position of cluster fails, then scan for a
next cluster from present position and resume from there.

Fixes #620790.
2010-09-06 14:45:40 +02:00