Commit graph

703 commits

Author SHA1 Message Date
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