Commit graph

89 commits

Author SHA1 Message Date
Mark Nauwelaerts e523b42d41 qtdemux: port segment event creation to 0.11 2012-08-28 19:01:11 +02:00
Mark Nauwelaerts 748304ced7 qtdemux: release extra event ref when replacing pending newsegment event 2012-08-28 16:28:29 +02:00
David Corvoysier d0eed20428 isomp4: add DASH tfdt box support
MPEG DASH has defined a set of new boxes to specify duration, indexes and
offsets of ISOBMFF fragments.

The Track Fragment Base Media Decode Time (tfdt) Box can in particular be
included inside a traf box to specify the absolute decode time, measured on the
media timeline, of the first sample in decode order in the track fragment.

This information can be used by the isomp4 demux to find out the current position of
an MP4 fragment in the timeline.

This patch adds code to isomp4 to:
- parse the tfdt box
- adjust the time/position member of the new segment sent when playback starts

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677535
2012-08-28 16:28:27 +02: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 7b5925b5a4 gst: Add stream-id to stream-start events 2012-08-06 13:43:57 +02:00
Tim-Philipp Müller c074bfd0b9 gst_tag_list_free -> gst_tag_list_unref 2012-08-04 16:10:16 +01:00
René Stadler 75ee20ec67 qtdemux: fix double unref of private tag buffer 2012-08-01 12:16:41 +02:00
Sebastian Dröge 0827f54b93 tag: Update for taglist/tag event API changes 2012-07-28 00:19:51 +02:00
Mark Nauwelaerts dd25411161 qt(de)mux: pass private blob tags in a sample
... rather than a buffer, and the detailed info in the sample info
rather than caps.
2012-07-27 12:12:13 +02:00
Mark Nauwelaerts 7247d136e5 qtdemux: properly transform incoming segment event
... which is really useful for proper push mode seeking.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680278
2012-07-20 13:35:29 +02:00
Edward Hervey f063e40af7 demux: Push STREAM_START event when needed 2012-07-13 13:51:48 +02:00
Wim Taymans 2052cabdc4 fix for allocator API changes 2012-07-09 16:28:41 +02:00
Sebastian Dröge aeafc3a093 gst: Implement segment-done event 2012-07-05 13:13:09 +02:00
David Corvoysier c06cb7c145 isomp4: Try to seek upstream before processing seek push event
When it receives a seek in push mode, the qtdemux should first try to push the event upstream, and only if upstream fails fall back to
its own seek logic.
2012-06-28 14:44:58 +02:00
David Corvoysier 998534a2a1 isomp4: Allow duration queries to be forwarded upstream
When receiving a duration query for TIME format, try to query upstream, and only if upstream fails fall back to qtdemux duration handling.
2012-06-28 14:44:58 +02:00
Wim Taymans 30d3dfee36 update for task api change 2012-06-20 10:33:42 +02:00
Wim Taymans b5df4f0e62 update for tag event change 2012-06-06 13:02:12 +02:00
Wim Taymans b8c08838bb qtdemux: set the palette size correctly 2012-05-31 13:44:46 +02:00
Alban Browaeys a56361623c isomp4: set layout=interleaved on raw audio caps
This fixes a not-negotiated error at least on mov files with
twos audio with two channels and video dvcp. As playbin and gst-launch
sample coming from the qtdemux.c file uses audioconvert and the latter
require format interleaved.

https://bugzilla.gnome.org/show_bug.cgi?id=675326
2012-05-03 23:28:50 +01:00
Edward Hervey 97591c1e77 isomp4: Check return value of GstByteWriter
And use unchecked variant of GstByteReader where applicable
2012-04-12 15:48:57 +02:00
Tim-Philipp Müller e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Wim Taymans 3d61d12e03 update for buffer api change 2012-03-30 18:15:34 +02:00
Wim Taymans 69002aa24f update for buffer changes 2012-03-28 12:53:05 +02:00
Wim Taymans b8869d285b qtdemux: negotiate an allocator on the srcpads
We do an ALLOCATION query to find out an allocator and parameters on the
srcpads. This way decoders (and sinks) can specify the memory and parameters
they want us to write into.
2012-03-19 10:33:48 +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
Wim Taymans 0525fa1850 qtdemux: set DTS and PTS on output buffers
Set PTS and DTS on output buffers instead of just the PTS. In streaming cases
you want to synchronized encoded data based on the DTS because that is
monotonically increasing.
2012-03-13 17:54:50 +01:00
Wim Taymans ca9532ccc5 update for new memory api 2012-02-22 02:10:33 +01:00
Wim Taymans 9365f12d6e GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:43:30 +01:00
Vincent Penquerc'h 4d73fe793a Revert "qtdemux: fix GstDateTime/GDateTime mixup"
This reverts commit 5326126112.

The GstDateTime->GDateTime change in core was apparently accidental,
and is now reverted.
2012-01-26 18:26:02 +00:00
Vincent Penquerc'h 5326126112 qtdemux: fix GstDateTime/GDateTime mixup 2012-01-26 17:52:30 +00:00
Wim Taymans 583d39dd8d update for new memory API 2012-01-25 12:30:28 +01:00
Wim Taymans 1584806634 port to new gthread API 2012-01-19 11:33:53 +01: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
Mark Nauwelaerts 43986a661d qtdemux: initialize variable to avoid undefined use 2012-01-09 11:38:15 +01:00
Sebastian Dröge 940807b79b isomp4: Port to the new audio caps
Still needs to handle the channel positions/masks and
channel reordering.
2012-01-05 10:30:33 +01:00
Wim Taymans 5fd2b7abe3 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:26:21 +01:00
Tim-Philipp Müller aeb69c188b qtdemux: update for GstIndex removal 2011-12-30 17:23:43 +00:00
Mark Nauwelaerts ed3f89fad5 qtdemux: increase parse tolerance for fuzzy file cases 2011-12-12 15:23:33 +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
Wim Taymans f1558baf83 update for tag API changes 2011-12-01 18:55:45 +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
Matej Knopp 1e5dd9e315 Fix printf format compiler warnings on OS X / 64bit
https://bugzilla.gnome.org/show_bug.cgi?id=662615
2011-11-22 01:28:22 +00:00
Wim Taymans f8e988a94c update for activation changes 2011-11-21 13:37:01 +01:00
Wim Taymans 6e4fb21331 update for new scheduling query 2011-11-18 17:59:16 +01:00
Wim Taymans b7aa7bca52 add parent to activate functions 2011-11-18 13:57:20 +01:00
Wim Taymans 0a43cfedef qtdemux: activate pad before setting caps
Seting caps on an inactive flushing pad does nothing.
2011-11-17 17:36:05 +01:00
Wim Taymans 105650127e add parent to pad functions 2011-11-17 15:02:55 +01:00