Commit graph

6118 commits

Author SHA1 Message Date
Alessandro Decina
91834bf80b multifile: fix build in uninstalled setup
Add -base libs includes to CFLAGS, fix order of LIBS <cit>.
2011-12-01 13:25:45 +01:00
Alessandro Decina
ed98755241 multifilesink: add flag to cut after a force key unit event 2011-12-01 13:25:45 +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
Stefan Sauer
c0e17dff4f rippletv: fix CLAMP end-values 2011-11-30 22:14:01 +01:00
Tim-Philipp Müller
0584ae8f98 splitfilesrc: specify filenames via normal wildcards instead of regular expressions
Less cracktastic in the end.
2011-11-30 19:11:12 +00:00
Tim-Philipp Müller
e6c4979a42 splitfilesrc: check bytes actually read, just in case
Handle corner case where we try to read beyond the end of the
last file part, in which case we want to return a short read.
If we get fewer bytes than expected for any other file part,
we should just error out, since something fishy's going on
then.
2011-11-30 16:39:33 +00:00
Tim-Philipp Müller
a595df5daa splitfilesrc: set offsets on buffers
Looks like some parsers (in some versions at least) expect the
offsets to be set, and behave weird if that's not the case
(e.g. off-by-one in h264parse).
2011-11-30 16:39:33 +00:00
Tim-Philipp Müller
2dd67036e5 multifile: add splitfilesrc element
Add new splitfilesrc element that presents multiple files
(selectable via a location regex) as one single contiguous
file.
2011-11-30 16:39:33 +00:00
Wim Taymans
710491109d fix for moved interfaces 2011-11-29 19:10:58 +01:00
Tim-Philipp Müller
04887268c8 Merge commit 'a2337b8af45cb5e8c091ff0e1c3ef4b6cc7b20a3' into 0.11 2011-11-28 21:27:40 +00:00
Wim Taymans
c36325f0aa Update for indexable change 2011-11-28 18:25:52 +01:00
Wim Taymans
71b615515a update for clock provider API change 2011-11-28 17:52:06 +01:00
Wim Taymans
ac849ec2b3 fix for element flag updates 2011-11-28 16:57:24 +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
Chad
a2337b8af4 taginject: set gap-aware
The element does not modify the data anyway.
2011-11-28 11:47:11 +01: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
Stefan Sauer
b5bf029401 equalizer: also sync the parameters for the filter bands 2011-11-26 21:40:22 +01: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
Tim-Philipp Müller
be0d6baac5 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/pulse/pulseaudiosink.c
	ext/pulse/pulsesrc.c
	gst/audioparsers/gstaacparse.c
	gst/audioparsers/gstamrparse.c
	gst/audioparsers/gstdcaparse.c
	gst/audioparsers/gstflacparse.c
	gst/effectv/gstradioac.c
	gst/effectv/gstradioac.h
	gst/effectv/gstripple.c

Some possible FIXMEs remaining in the audio parser getcaps functions.
2011-11-26 13:34:10 +00:00
Thiago Santos
a3bc431924 ismlmux: Use iso-fragmented as variant type
Using 'iso' conflicts with mp4mux variant type, ismlmux now
uses iso-fragmented

Fixes #656823
2011-11-25 19:29:31 -03:00
Vincent Penquerc'h
21d3faa400 flvdemux: fix seeking
Which I accidentally broke when fixing flv videos breaking on
spurious timestamp discontinuities in broken files.

https://bugzilla.gnome.org/show_bug.cgi?id=631430
2011-11-25 16:03:59 +00:00
Stefan Sauer
ebefb140b9 effectv: repair color modes in radioactv by taking rgb,bgr into account 2011-11-25 13:13:47 +01:00
Stefan Sauer
c1d38ea8d4 radioactv: add one more set of caps
It also work in this format. Avoids the need for conversion.
2011-11-25 11:44:49 +01:00
Stefan Sauer
3295482afd effecttv: fix reverse negotiation
The plugins were using _fixed_caps_ and thus not adjusting to new upstream
sizes. Spotted by Tim Müller.
2011-11-25 11:44:18 +01:00
Stefan Sauer
5d03d65349 warptv: remove not needed ifdef 2011-11-25 11:43:16 +01:00
Stefan Sauer
f0fe717cd9 rippletv: clean up the rendering code a bit
This is corrrupts the memoy when resizing. Add a FIXME to make it resizeable
once that is solved.
2011-11-25 10:15:35 +01:00
Stefan Sauer
b6de7baeb6 effecttv: fix reverse negotiation
The plugins were using _fixed_caps_ and thus not adjusting to new upstream
sizes. Spotted by Tim Müller.
2011-11-24 20:44:38 +01:00
Thiago Santos
230ce4367f multifilesink: Fix leak of filename strings
Do not forget to free the filename strings when deleting
the list of files.
2011-11-24 14:18:44 -03:00
Vincent Penquerc'h
b33da78f72 wavparse: skip id32 tags
This allows decoding at least one sample where something has
stuffed some ID3 tag before the (supposedly initial) FMT\ .

https://bugzilla.gnome.org/show_bug.cgi?id=660249
2011-11-24 17:07:23 +00:00
Vincent Penquerc'h
cbbabd6ccc edgetv: trivial comment fix for clarity
https://bugzilla.gnome.org/show_bug.cgi?id=661841
2011-11-24 10:43:25 +01:00
Vincent Penquerc'h
852104b4ee edgetv: don't leave bits of the output buffer uninitialized
Let's initialize them to zero. It looks alright, but then it
also looks alright with v3, or with the corresponding pixels
from the source. I don't know what the original intent would
be, and the original effectv source also has this bug/feature.

https://bugzilla.gnome.org/show_bug.cgi?id=661841
2011-11-24 10:43:25 +01:00
Sebastian Dröge
6204464735 audioparse: Use the sinkpad template caps as fallback, not the srcpad ones 2011-11-24 10:25:02 +01:00
Sebastian Dröge
c114e7c073 mpegaudioparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 09:59:40 +01:00
Sebastian Dröge
996b4eb4cc flacparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 09:57:57 +01:00
Sebastian Dröge
e6a2129977 dcaparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 09:55:47 +01:00
Sebastian Dröge
c5b770df09 amrparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 09:53:18 +01:00
Sebastian Dröge
5203b0884a amrparse: Mark some more functions as static 2011-11-24 09:49:27 +01:00
Sebastian Dröge
fabc5c969b ac3parse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 09:48:33 +01:00
Sebastian Dröge
48b07ae434 aacparse: Mark some functions as static and remove unused function declarations 2011-11-24 09:44:58 +01:00
Sebastian Dröge
94daabf71f aacparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 09:43:54 +01:00
Tim-Philipp Müller
87aa29d2cf rtspsrc: make connection-speed property a guint64 2011-11-24 01:19:32 +00:00
Tim-Philipp Müller
09ca5fa910 rtpmanager: rename gstrtp* -> rtp*
This was done in 0.10 to avoid conflict with the rtp elements in
farsight, but the gst-prefixing is no longer needed in 0.11
2011-11-24 00:54:08 +00: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
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
07cc855b24 Merge branch 'master' into 0.11
Conflicts:
	ext/speex/gstspeexenc.c
	gst/rtpmanager/rtpsession.c
2011-11-17 17:17:11 +01:00
Wim Taymans
105650127e add parent to pad functions 2011-11-17 15:02:55 +01:00
Stefan Sauer
8643d1caaf collectpads: port API changes 2011-11-17 08:44:45 +01:00
Wim Taymans
7cc4b72550 add parent to internal links 2011-11-16 17:54:49 +01:00
Wim Taymans
6190312214 add parent to query function 2011-11-16 17:27:13 +01:00
Wim Taymans
445d4d8573 goom: update for renamed flags
Use the _check_reconfigure method instead of checking flags.
Don't need to ref the parent anymore, core does that.
2011-11-16 12:40:08 +01:00
Wim Taymans
e7918a5aba _query_peer_*() -> _peer_query_*() 2011-11-15 18:04:44 +01:00
Wim Taymans
797523efbd _peer_get_caps() -> _peer_query_caps() 2011-11-15 18:04:44 +01:00
Wim Taymans
b2d508ac40 update for _get_caps() -> _query_caps() 2011-11-15 18:04:44 +01:00
Wim Taymans
75dc9634eb change getcaps to query
Chain up event function in payloaders.
2011-11-15 18:04:44 +01:00
Vincent Penquerc'h
011c33e91e flacparse: detect when a file lies about fixed block size
If the sample/block number happens to be the same as the block
size, we assume variable block size, and thus counters in samples
in the headers. This can only get us a false positive for a block
size of 1, which is invalid. We can get false negatives more
often though (eg, if not starting at the start of the stream),
but then that's already GIGO.
2011-11-14 15:53:36 +00:00
Olivier Crête
1169bb05af gstrtpsession: Add special mode to use FIR as repair as Google does
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
79a9564c68 rtpsession: Send FIR requests in response to key unit requests with all-headers=TRUE
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
12a6b9613b rtpsession: Put the PLI requests in each RTPSource
Also refactor a bit and put all the keyframe request code in one
place inside rtpsession.c

https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
59c028a4ce rtpsession: Hack to FIR because Google doesn't set the sender ssrc correctly
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
0ad78db0a3 rtpsession: Process received Full Intra Requests
Process FIR requests according to RFC 5104

https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Tim-Philipp Müller
c27bbe4be2 Update for GstURIHandler get_protocols() changes 2011-11-13 23:44:44 +00:00
Tim-Philipp Müller
a150d1e734 soup, pushfile, rtsp, udp, v4l2: update for GstURIHandler API changes 2011-11-13 18:50:51 +00:00
Wim Taymans
af1eec2ece rtp: fix for rtp header changes 2011-11-11 19:21:50 +01:00
Wim Taymans
e84b8dbe94 update for base class rename 2011-11-11 12:32:41 +01:00
Wim Taymans
249d0083cc update for base class rename 2011-11-11 12:25:01 +01:00
Wim Taymans
9daea802fa fix for ringbuffer rename 2011-11-11 11:33:44 +01:00
Stefan Sauer
9ce6c731c3 various: add missing includes 2011-11-10 23:09:23 +02:00
Wim Taymans
7e12b58e37 update for adapter api changes 2011-11-10 18:32:58 +01:00
Wim Taymans
fbaf216d25 update for changed base classes 2011-11-10 17:23:47 +01:00
Wim Taymans
221ea2fc44 Merge branch 'master' into 0.11 2011-11-09 17:40:10 +01:00
Vincent Penquerc'h
f4506d5181 avidemux: fix wrong stride when inverting uncompressed video
Such frames have a stride multiple of 4, see
http://lscube.org/pipermail/ffmpeg-issues/2010-April/010247.html.

This showed up on a sample using a odd width of 24 bit video.

https://bugzilla.gnome.org/show_bug.cgi?id=652288
2011-11-09 11:43:41 +00:00
Wim Taymans
85e73e0818 h263ppay: report to 0.11 2011-11-09 12:25:01 +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
Wim Taymans
49658dd5b5 remove query types 2011-11-09 11:53:01 +01:00
Mark Nauwelaerts
9c3516116a qtdemux: minimal sanity check on creation datetime 2011-11-09 10:33:18 +01:00
Olivier Crête
e15c293f13 rtph263ppay: Return the sink pad template as sink caps, not the src's
https://bugzilla.gnome.org/show_bug.cgi?id=577784
2011-11-08 15:53:39 +01:00
Olivier Crête
4b28d9d44e rtph263ppay: Also implement size/framerate restrictions in getcaps
https://bugzilla.gnome.org/show_bug.cgi?id=577784
2011-11-08 15:53:18 +01:00
Olivier Crête
ff31090671 rtph263ppay: Implement getcaps following RFC 4629, picks the right annexes
https://bugzilla.gnome.org/show_bug.cgi?id=577784
2011-11-08 15:52:57 +01:00
Mark Nauwelaerts
4946cc5e7f qtdemux: also set segment stop at startup rather than only post seek
... so as to ensure consistent playback with or without seek, especially
in presence of some bogus edit list entries.
2011-11-08 14:58:09 +01:00
Wim Taymans
c48df77320 update for probe api changes 2011-11-08 11:18:06 +01:00
Stefan Sauer
931354215e goom: code cleanups
Move variables to the scope where they are needed. Use our macros and functions
more.
2011-11-08 09:44:00 +01:00
Stefan Sauer
3e82471125 goom: add a sink_query to eat allocation queries
We should not forward allocation queries for audio to the video sink.
2011-11-08 09:44:00 +01:00
Raul Gutierrez Segales
91af805636 gst/flv/: add amfdefs.h to noinst_HEADERS
https://bugzilla.gnome.org/show_bug.cgi?id=663334
2011-11-07 17:28:38 +00:00
Wim Taymans
de020130e6 fix for probe updates 2011-11-07 17:14:17 +01:00
Vincent Penquerc'h
cf3f3f14da flvdemux: detect large pts gaps and resync
Should work on multiple gaps, but tested on only one.

https://bugzilla.gnome.org/show_bug.cgi?id=631430
2011-11-07 12:38:49 +00:00
Vincent Penquerc'h
14a9d1d66e flacparse: fix last frame timestamp in fixed block size mode
The last block may have a different block size, so we should not
use it to scale or we'll end up with a wrong timestamp.
See comment and quote from the FLAC format documentation in the code.

Fixes looped playback of FLAC files (via about-to-finish).

https://bugzilla.gnome.org/show_bug.cgi?id=661215
2011-11-07 12:37:10 +00: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
Stefan Sauer
fb162c8eb4 controller: port to new controller location and api 2011-11-04 20:15:48 +01:00
Wim Taymans
768e3826ab more template fixes 2011-11-04 17:39:15 +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
Edward Hervey
1e727429a8 Port apedemux 2011-11-04 10:32:46 +01:00
Tim-Philipp Müller
d65490dfad rtp: use GLib's G_BIG_ENDIAN define instead of BIG_ENDIAN
Fixes compiler warning on mingw32
2011-11-03 23:28:31 +00:00
Wim Taymans
6cbd6afc0b update for new net library 2011-11-03 16:43:00 +01:00
Wim Taymans
e038ab5a0b tags: update for tag API removal 2011-11-02 12:09:20 +01:00
Wim Taymans
22eb0d2300 Merge branch 'master' into 0.11 2011-11-02 10:40:12 +01:00
Wim Taymans
83ccefb24e update for netbuffer api change 2011-11-02 09:06:38 +01:00
Wim Taymans
75e0c6052f update for netaddress change 2011-11-02 09:06:38 +01:00
Wim Taymans
b1ef7e8a86 update for meta api change 2011-11-02 09:06:37 +01:00
Wim Taymans
0560ab53c0 update for new task api 2011-11-02 09:06:37 +01:00
Wim Taymans
9a8a8e72c8 structure: fix for api update 2011-11-02 09:06:37 +01:00
Wim Taymans
161310fa23 bufferlist: update for new API 2011-11-02 09:06:37 +01:00
Tim-Philipp Müller
9f77b02b15 Update for pad API changes
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:52:28 +00:00
René Stadler
cf771ab7ae ac3parse: fix obvious crash 2011-10-31 18:39:35 +01:00
Mark Nauwelaerts
57684fee3a qtmux: avoid shortcut evaluation when adding paired mp4 tag
Fixes (part of) #638711.
2011-10-31 16:25:59 +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
Tim-Philipp Müller
9cd17092d8 ext, gst: update for taglist API changes 2011-10-30 11:44:53 +00:00
René Stadler
3b6de2bacd audiopanorama: simplify get_unit_size 2011-10-28 21:26:33 +02:00
René Stadler
8809965204 audioecho: fix internal buffer size calculation 2011-10-28 21:22:38 +02:00
Wim Taymans
d40e915449 Merge branch 'master' into 0.11 2011-10-28 16:52:08 +02:00
René Stadler
42f401a7eb audiofx: fix crash in process() 2011-10-28 13:08:48 +02:00
Mark Nauwelaerts
96fc28eacd qtdemux: elaborate some debug statements 2011-10-28 12:31:17 +02:00
Stas Sergeev
6b168ffb44 flvdemux: be careful with negative cts
Fixes #661477.
2011-10-28 12:31:15 +02:00
Mark Nauwelaerts
4924308d02 matroskademux: tune non-update seek handling cases
Fixes #661049.
2011-10-28 12:13:51 +02:00
Wim Taymans
05c025de6d Merge branch 'master' into 0.11
Conflicts:
	gst/videomixer/gstcollectpads2.c
2011-10-28 11:46:40 +02:00
René Stadler
9b94fc3102 audiodynamic: don't set process function too early
GstAudioInfo and GstAudioFilter have been changed so that this code doesn't
crash anymore when a property is set in NULL state.
2011-10-28 11:25:37 +02:00
René Stadler
7dba29cbd3 audiopanorama: fix get_unit_size 2011-10-28 11:25:37 +02:00
Sebastian Dröge
c603bf9891 videomixer2: Use the clip function instead of the prepare_buffer function 2011-10-28 10:40:36 +02:00
Tim-Philipp Müller
d18a578ba4 rtpmanager, v4l2: fix compiler warnings after gst_caps_new_simple() change 2011-10-28 09:06:41 +01:00
Tim-Philipp Müller
b0f43f43d4 qtdemux: fix compiler warnings after gst_caps_new_simple() change 2011-10-28 09:06:28 +01:00
Sebastian Dröge
ae07ebedc9 videomixer2: Use collectpads2 from core 2011-10-28 09:36:17 +02:00
René Stadler
70420b0661 wavenc: port to 0.11 raw audio caps 2011-10-27 19:40:09 +02:00
Wim Taymans
facda96308 Merge branch 'master' into 0.11
Conflicts:
	gst/flv/gstflvmux.c
2011-10-27 19:06:06 +02:00
Wim Taymans
9c14280b1d make some more things compile again 2011-10-27 19:00:52 +02:00
Wim Taymans
4b6a226263 Merge branch 'master' into 0.11
Conflicts:
	ext/pulse/pulseaudiosink.c
	ext/pulse/pulsesink.c
2011-10-27 16:08:22 +02:00
Wim Taymans
fc4684f4c6 fix compilation 2011-10-27 16:03:17 +02:00
Jan Schmidt
3b03db5e40 deinterlace: Don't pointlessly hold object lock over caps operations
Avoids a deadlock when getcaps is recursive due to the getcaps being
reflected upstream/downstream. The lock isn't actually protecting
anything here.
2011-10-28 00:41:45 +11:00
Jan Schmidt
f6255bb8d0 flvmux: add some comments and defines to clarify code. 2011-10-27 00:41:29 +11: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
6082f27d48 equalizer: remove avoidable call to gst_object_set_name 2011-10-21 22:33:34 +02:00
René Stadler
dcd493279d deinterlace: remove avoidable call to gst_object_set_name 2011-10-21 22:32:38 +02:00
Stefan Sauer
2468492f02 interfaces: clean up the use of iface and class/klass 2011-10-21 14:58:41 +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
Wim Taymans
7e43e99726 videocrop: fix compilation 2011-10-16 15:32:50 +02:00
Wim Taymans
ddd58a4035 Merge branch 'master' into 0.11
Conflicts:
	gst/rtp/gstrtpvrawdepay.c
2011-10-16 15:26:38 +02:00
Arun Raghavan
cc7aeb3f33 videomixer2: Fix a leak
Buffers weren't being unref'ed in one case inside, causing memory usage
to blow up.
2011-10-14 13:10:49 +05:30
Marc Leeman
98075ad70d set colour masks for video/x-raw-rgb in rtpvrawdepay 2011-10-14 09:32:47 +02:00
Thiago Santos
0196fb4668 aspectratiocrop: Port to 0.11 2011-10-13 15:37:47 -03:00
Thiago Santos
04080866aa videocrop: Port to 0.11 2011-10-13 15:37:47 -03:00
Arun Raghavan
4d3ee9005c videomixer2: Fix incorrect gst_buffer_replace() call
This got exposed when gst_buffer_replace() was changed from a macro to a
function.
2011-10-13 16:59:50 +05:30
Edward Hervey
d4a2a46606 rtpssrcdemux: Fix wrong usage of gst_iterator_filter
It takes a GValue* as the user_data.

And don't forget to unref the demuxer before returning.
2011-10-13 09:34:04 +02:00
Wim Taymans
a5cc912140 Merge branch 'master' into 0.11
Conflicts:
	ext/jpeg/gstjpegdec.c
	gst/rtp/gstrtpvrawpay.c
2011-10-13 08:58:06 +02:00
Edward Hervey
1b56d40170 rtpvrawpay: Only use 24 LSB for depth=24 RGB caps
... and indent the masks for clarity
2011-10-12 11:26:50 +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
Sjoerd Simons
bf65acf11f gstrtpg722pay: Compensate for clockrate vs. samplerate difference
The RTP clock-rate used for G722 is 8000, even though the samplerate is
16000. Compensate for this by pretending G722 has 8 bits per sample
instead of the 4 bits as if it were a codec that ran at half the speed,
but with twice the number of bits. Fixes #661376
2011-10-10 21:50:28 +01:00
Tim-Philipp Müller
ad245a0dc2 matroska-demux: don't leak audio codec_data buffer 2011-10-10 19:02:58 +01:00
Edward Hervey
919dcf405d alpha: Don't use start() vmethod
The only thing we're doing is initializing parameters ...
* which won't work because we don't have upstream/downstream caps
* which will be initialized when ::set_caps() is called
2011-10-10 17:42:02 +02:00
Wim Taymans
0577e069c2 id3demux: port to 0.11 2011-10-10 13:22:12 +02:00
Wim Taymans
31180790d6 icydemux: port to 0.11 2011-10-10 12:54:22 +02:00
Tim-Philipp Müller
8c762dabb2 Merge remote-tracking branch 'origin/master' into 0.11 2011-10-09 16:29:05 +01:00
Tim-Philipp Müller
309b5fa0c1 qtdemux: update for __gst_debug_min name change 2011-10-09 16:25:15 +01:00
Thiago Santos
ca417fd376 qtmux: Fix memory leak on atoms recovery function
Remember to free the ftyp data after writing it to a file.

Fixes #660969
2011-10-09 11:18:18 -03:00
Wim Taymans
94021224fc qtmux: report new bits 2011-10-06 12:26:33 +02:00
Wim Taymans
586ef0babd Merge branch 'master' into 0.11
Conflicts:
	ext/speex/gstspeexdec.c
	ext/speex/gstspeexenc.c
	gst/isomp4/atoms.c
	gst/isomp4/gstqtmux.c
2011-10-06 12:23:39 +02: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
Thiago Santos
535f92a0a4 qtmux: update esds atom under wave atom for aac bitrates
AAC in mov format puts an ESDS atom inside of a WAVE atom in
STSD atom, we need to update the bitrate on this ESDS. This patch
fixes it.
2011-09-30 13:05:24 -03:00
Thiago Santos
31acc88b39 qtmux: Also update btrt atom
When rewriting bitrates, also update the btrt atom under stsd
2011-09-30 13:05:24 -03:00
Thiago Santos
7a143ea94f qtmux: Calculate average bitrate for streams
Calculate and use average bitrate for streams when no
bitrate tag was received
2011-09-30 12:43:13 -03:00
Thiago Santos
4737090594 qtmux: Avoid a buffer metadata copy if possible
If first_ts is 0 there is no need to subtract, so we might
skip some copying to make the buffer metadata writable.
2011-09-30 12:43:13 -03:00
Wim Taymans
2e069225b9 Merge branch 'master' into 0.11 2011-09-28 16:18:54 +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
Wim Taymans
87fbd1e784 Merge branch 'master' into 0.11
Conflicts:
	common
	ext/pulse/pulsesink.c
	ext/soup/gstsouphttpclientsink.c
	gst/audioparsers/gstaacparse.c
	gst/audioparsers/gstac3parse.c
	gst/rtp/gstrtph264depay.c
	gst/rtpmanager/gstrtpjitterbuffer.c
	gst/rtpmanager/rtpjitterbuffer.c
	gst/rtsp/gstrtspsrc.c
	sys/ximage/gstximagesrc.c
2011-09-28 12:44:59 +02:00
Raimo Järvi
827c3aa14b goom2k1: Fix compiler warnings on 64 bit mingw-w64
Fixes bug #660294.
2011-09-28 00:18:15 +01:00
Julien Isorce
2131a3b7f8 ac3parse: correctly check for ac3/e-ac3 switch
https://bugzilla.gnome.org/show_bug.cgi?id=659943
2011-09-23 16:26:50 +01:00
Mark Nauwelaerts
fd757890eb rtph264depay: improve downstream flow return feedback to upstream
... although basertpdepay does not really make it easy/possible to do so
all the way.
2011-09-20 14:14:39 +02:00
Ha Nguyen
931020158e rtpbin: Fix a leaked clock for each buffering message
Fixes bug #659237.
2011-09-19 14:05:26 +02:00
Mark Nauwelaerts
d959bb6041 qtdemux: parse embedded ID32 tags 2011-09-19 12:11:45 +02:00
Mark Nauwelaerts
e2179cbb74 rtpsession: avoid source premature timing out
Use slightly adjusted sender interval to determine sender timeout rather than
our own sender side interval (which may have been forced small).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
f65d4c8300 rtpsession: avoid timing out source too quickly
... following a PAUSE/PLAY cycle, particularly applicable when operating
with a short RTCP interval (possibly forced so server-side).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
77ebd33991 rtpjitterbuffer/rtpbin: relax dropping rtcp packets
... to at least having it trigger a/v synchronization, possibly without
using provided values which are still not considered sane
(as previously dropped).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
adfe7d0467 rtpjitterbuffer: some more reset when clearing pt map
... which in particular caters for some more reset following a possible
rtsp PLAY.
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
81fc784163 rtspsrc: do not set elements to PLAYING when doing seek in PAUSED 2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
915db26029 rtpjitterbuffer: only reset skew on gap if input ts available 2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
1e17e10f75 rtpjitterbuffer: check some more for possible rtp timestamp discontinuity
... when operating in non slave mode, and reset if detected.
This should avoid some (large) bogus outgoing timestamp due to jumps
in rtp time, as result of PAUSE/PLAY or seek or ...
2011-09-19 11:56:40 +02:00
Mark Nauwelaerts
8599801cae rtspsrc: switch to rtp time based syncing when guessed appropriate 2011-09-19 11:52:08 +02:00
Mark Nauwelaerts
9c95072048 rtpbin: alternative inter-stream syncing methods
... at least if not syncing to NPT time:
* either sync using RTCP SR data (as currently)
* only perform the above once using initial RTCP SR packets
* discard RTCP and sync by equating provided stream's clock-base rtptime,
  as provided by jitterbuffer (typically obtained from RTP-Info in RTSP).
2011-09-19 11:52:03 +02:00
Mark Nauwelaerts
4b7301e4d1 rtpjitterbuffer: also provide clock-base to sync signal 2011-09-19 11:52:00 +02:00
Mark Nauwelaerts
f29c253934 rtpbin: allow configurable rtcp stream syncing interval
... rather than necessarily syncing at each RTCP SR.
2011-09-19 11:51:57 +02:00
Mark Nauwelaerts
afd26f0078 rtpsession: trigger reconsideration if rtcp interval set 2011-09-19 11:51:50 +02:00
Mark Nauwelaerts
3e33a7a09f rtspsrc: configure rtcp interval if provided
... in PLAY response.
2011-09-19 11:51:47 +02:00
Lasse Laukkanen
056e9188b1 isomp4: Fix allowing zero duration tracks
https://bugzilla.gnome.org/show_bug.cgi?id=637486
2011-09-19 11:18:27 +02:00
Vincent Penquerc'h
3319737e5c udpsrc: error out when no protocol is specified in the uri
It is certainly better than to crash.

https://bugzilla.gnome.org/show_bug.cgi?id=658178
2011-09-19 10:16:38 +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
Vincent Penquerc'h
352bab2ef7 navseek: toggle pause/play on space bar
A useful thing to have.

https://bugzilla.gnome.org/show_bug.cgi?id=659065
2011-09-14 21:32:42 +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
Thiago Santos
261d11a6d7 qtmux: Fix ctts generation for streams that don't start at 0 timestamps
Subtract the first timestamp of a stream from all input buffers to
get 0-based timestamps for creating a sane ctts table. Without this
patch the ctts could have larger values than needed, causing the
playback to have a delay at startup.

As the first timestamp is only found after a few buffers are queued
(due to possible reordered buffers), once we find the first timestamp
we subtract it from all buffers on the queue, from that point on,
all buffers have their timestamps subtract when they are collected.

https://bugzilla.gnome.org/show_bug.cgi?id=658659
2011-09-12 07:37:10 -03:00
Alessandro Decina
aea09188dc flvmux: don't release request pads going PAUSED->READY
Don't release request pads but just reset them. This makes pipelines using
flvmux reusable.
2011-09-12 10:00:59 +02:00
Vincent Penquerc'h
d17d13219c ac3parse: use bsid 9 and 10 to control sample rate
See http://matroska.org/technical/specs/codecid/index.html

The spec is silent about this though...

https://bugzilla.gnome.org/show_bug.cgi?id=658546
2011-09-09 13:59:31 +02:00
Mark Nauwelaerts
95b5ece2c9 rtspsrc: ensure some initial state variable setup
... which might otherwise be skipped if the PLAY command is issued before
the OPEN command had a chance to actually be acted upon.

Fixes #657376.
2011-09-09 10:53:08 +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
Thiago Santos
ed3adece77 qtmux: remove one G_UNLIKELY for user property
Using G_UNLIKELY on user properties isn't nice, specially when
that is the default option.
2011-09-07 11:46:07 -03: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
Sebastian Dröge
c29069fd11 ac3parse: Add Converter to the classification because it can convert between different alignments
This allows decodebin2 to let it negotiate properly.
2011-09-07 12:11:39 +02:00
Sebastian Dröge
786d35f53f audioparsers: Improve src template caps
Remove the parsed/framed fields and add all fields to the template
caps that always exist.
2011-09-07 12:10:48 +02:00
Mark Nauwelaerts
625e7a6143 aacparse: parse codec_data to determine number of samples per frame
Fixes #656734.
2011-09-07 11:20:03 +02:00
Wim Taymans
83ea243000 Merge branch 'master' into 0.11
Conflicts:
	common
2011-09-06 16:37:03 +02:00
Wim Taymans
33f18b8ea4 Merge branch 'master' into 0.11
Conflicts:
	gst/audioparsers/gstamrparse.c
	gst/isomp4/qtdemux.c
2011-09-06 16:06:25 +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
Mark Nauwelaerts
06f8e356a6 rtpmp4gdepay: improve bogus interleaved index compensating
Patch by <gudake@gmail.com>

Fixes #654585.
2011-09-06 13:20:23 +02:00
Wim Taymans
e204c5934c -good: port to new audio caps 2011-09-06 13:16:27 +02:00
Mark Nauwelaerts
b9a54a38b0 amrparse: fix and streamline valid frame checking
... to handle various combinations of sync or not, and sufficient data
or not as might be expected.

Fixes #650714.
2011-09-05 15:51:48 +02:00
Mark Nauwelaerts
4b8ead4340 qtdemux: fragmented support; avoid adjustment for keyframe seek
... since all index data may not yet be available at that time.
2011-09-05 14:56:18 +02:00
Mark Nauwelaerts
08d25a69d5 qtdemux: fragmented support; mark all audio track samples as keyframe 2011-09-05 14:56:18 +02:00
Brian Li
a3e9b676c0 qtdemux: fragmented support; properly init return variable value
Fixes #655918.
2011-09-05 14:56:08 +02:00
Mark Nauwelaerts
2603c2079d rtspsrc: add gtk-doc for new short-header property 2011-09-05 13:32:17 +02:00
Marc Leeman
ce276d903c rtspsrc: allow sending short RTSP requests to a server
Some encoders (Arecont) do not like the long OPTIONS sent at startup as sent by
GStreamer, but do accept the short header as sent by Live555.

This patch makes the extending the request optional by adding a property
(short-header).

Fixes #655805.

API: GstRTSPSrc:short-header
2011-09-05 13:26:06 +02:00
Olivier Crête
d4778dbe43 rtph263ppay: Set H263-2000 if thats what the other side wants
The static caps states this element supports H263-2000, but setcaps never
sets it, so it was lie.

See https://bugzilla.gnome.org/show_bug.cgi?id=577784
2011-09-05 12:58:55 +02:00
Olivier Crête
b2e8362767 rtpsession: Initialise the last_keyframe_request variable 2011-09-02 19:24:46 -04:00
Peter Korsgaard
d73410c4af multiudpsink: make add/remove/clear/get-stats action signals
http://bugzilla.gnome.org/show_bug.cgi?id=657830

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-01 22:54:27 +01:00
Wim Taymans
24df106272 mp2t: fix encoding name according to RFC3551 2011-08-31 18:45:15 +02:00
Mark Nauwelaerts
e15d29ffe4 qtdemux: push mode; perform some extra checks prior to upstream seeking 2011-08-30 14:24:04 +02:00
Mark Nauwelaerts
9de9d7e4d4 qtdemux: push mode; fix buffered streaming
That is, in case where no seek is peformed to moov, but preceding
limited mdat is buffered.
2011-08-30 14:23:49 +02:00
Wim Taymans
9521326703 shapewipe: port to 0.11 2011-08-30 14:06:12 +02:00
Wim Taymans
ef560b86e2 law: port to 0.11 2011-08-30 12:25:35 +02:00
Wim Taymans
5ad41c7292 alaw: port to 0.11 2011-08-29 19:11:25 +02:00
Wim Taymans
e62d326dc2 goom: fix comment 2011-08-29 19:10:35 +02:00
Mark Nauwelaerts
5ea19b0696 qtdemux: avoid overflow wraparound in timestamp when adding durations
Do some type juggling to avoid overflow, while still allowing for 'negative'
durations (which would need a wraparound effect).
2011-08-29 15:16:16 +02:00
Wim Taymans
75e153bb13 allocation: fix for vmethod changes 2011-08-26 14:20:49 +02:00
Wim Taymans
18065ac823 port to new video flags 2011-08-25 16:41:23 +02:00
Wim Taymans
e9df54819c Merge branch 'master' into 0.11 2011-08-24 14:16:44 +02:00
Vincent Penquerc'h
f3fc3e1f69 aacparse: only require two frames in a row when we do not have sync
This avoids a single bit error dropping two frames unnecessarily.
The two consecutive frames check is still required when we don't
have sync.

https://bugzilla.gnome.org/show_bug.cgi?id=657080
2011-08-24 08:26:31 +02:00
Wim Taymans
60f0e44bf6 video: port to new colorimetry info 2011-08-23 19:09:31 +02:00
Wim Taymans
d6908f1a2d Merge branch 'master' into 0.11 2011-08-22 13:10:07 +02:00
Wim Taymans
9d6371405e fourcc: remove fourcc from caps 2011-08-22 12:24:15 +02:00
David Schleef
88557c4792 breakmydata: element is not passthrough 2011-08-21 15:15:14 -07:00
David Schleef
2a83da13fc multifilesrc: quiet debugging 2011-08-21 15:15:14 -07:00
David Schleef
0446787e65 deinterlace: change field handling through methods
This likely breaks stuff.  The good: all of the methods now create
field images aligned with input frames, without timestamp mangling.
The bad: this touches a lot of code, much of which is hairy and in
need of cleanup.  However, at this point we can reasonably create a
PSNR-based test.
2011-08-21 15:15:14 -07:00
Alessandro Decina
ad996feb28 multifilesink: reset ->streamheaders to NULL on _stop
Fixes invalid memory access reusing multifilesink
2011-08-21 14:41:59 +02:00
Wim Taymans
5e3a52f1d9 cutter: bring cutter somewhat into this millennium 2011-08-20 10:46:18 +02:00
Wim Taymans
c1abdd7626 rg: fix caps 2011-08-19 16:27:20 +02:00
Wim Taymans
445bf71bd1 port to more audio api changes 2011-08-19 16:09:48 +02:00
Wim Taymans
77ad0a1363 port more elements to new audio caps and API 2011-08-19 14:01:45 +02:00
Wim Taymans
90f5b31b4b port to new audio API and caps 2011-08-19 11:49:44 +02:00
Wim Taymans
135b41cb5b Merge branch 'master' into 0.11 2011-08-18 19:37:39 +02:00
Wim Taymans
09b15d7dfe port to new audio caps. 2011-08-18 19:21:07 +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
Wim Taymans
48e47ad702 Merge branch 'master' into 0.11 2011-08-17 11:17:38 +02:00
Vincent Penquerc'h
f8a9f5bc1c spectrum: avoid crashing by resetting the correct number of channels
https://bugzilla.gnome.org/show_bug.cgi?id=656606
2011-08-16 22:44:07 +01:00
Wim Taymans
4bb2b140e9 Merge branch 'master' into 0.11
Conflicts:
	sys/v4l2/v4l2src_calls.c
2011-08-16 18:35:53 +02:00
Vincent Penquerc'h
6ac7ad8a2c flacparse: fix off by one in frame size check
Yes, I was tracking another bug and the small test file I generated
to test with improbably just happened to trigger this, with a second
and last frame of 1615 bytes.

https://bugzilla.gnome.org/show_bug.cgi?id=656649
2011-08-16 13:25:30 +01:00
Tim-Philipp Müller
5866c3a413 id3demux: remove specs from git as well now that parsing code is in -base 2011-08-14 20:46:01 +01:00
Mark Nauwelaerts
1ca89389e4 id3demux: use -base provided id3 tag parsing
https://bugzilla.gnome.org/show_bug.cgi?id=654388
2011-08-13 23:19:32 +01:00
Stefan Kost
a1b1d19105 qtdemux: initialize bitrate variable and reset for each loop
Don't check eventually unset variable and don't accidentially use values from last
cycle.
2011-08-12 16:32:58 +02:00
Edward Hervey
d08e0ccc48 rtspsrc: Properly error out if SDP contains no streams
Also fixes unitialized variable error on macosx.
2011-08-09 11:28:17 +02:00
Wim Taymans
5fa0c28bc4 isomp4: fixup after small api changes
Port to recently changed api so that it compiles again.
2011-08-05 12:07:50 +02:00
Edward Hervey
eb8075111d y4menc: Now depends on libgstvideo 2011-08-05 11:32:45 +02:00
Wim Taymans
84371e4066 goom: port to new caps 2011-08-04 16:32:39 +02:00
Wim Taymans
ee2aa25e04 port to new API 2011-08-03 18:37:27 +02:00
Wim Taymans
4121021bb2 Merge branch 'master' into 0.11
Conflicts:
	ext/pulse/pulsesink.c
	ext/pulse/pulsesrc.c
	gst/audioparsers/gstac3parse.c
	gst/rtp/gstrtph264depay.c
	gst/rtp/gstrtph264pay.c
	gst/rtpmanager/gstrtpssrcdemux.c
2011-08-03 18:25:30 +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
Philippe Normand
0424368cfc qtdemux: soften assertion check on stream size
https://bugzilla.gnome.org/show_bug.cgi?id=655570
2011-08-03 10:11:59 +02:00
Robert Krakora
f7893b8721 rtpjpegpay: Add support for H.264 payload in MJPEG container
See http://www.quickcamteam.net/uvc-h264/USB_Video_Payload_H.264_0.87.pdf

Fixes bug #655530.
2011-08-03 10:09:42 +02:00
Sebastian Dröge
4aa5485cfc effectv: Fix unused but set variable compiler warnings 2011-08-03 08:51:19 +02:00
Tim-Philipp Müller
a1712ad87c docs: fix two more Since: tags 2011-08-02 23:42:58 +01:00
Mart Raudsepp
62cd1215c7 deinterlace: Fix Since tags for fieldanalysis related new properties
commit c1b100cf9c is after 0.10.29 and 0.10.30 was a branched release.
So fix Since tags from 0.10.29 to 0.10.31 for the new properties.
2011-08-02 23:38:13 +01:00
Wim Taymans
5771056ed5 rtpvorbispay: fix porting error 2011-08-02 11:51:45 +02:00
Wim Taymans
49af68ebf4 -good: fix for bufferpool API change 2011-07-29 17:27:07 +02:00
Mark Nauwelaerts
c03648c8bb rtpsession: properly init rtcp_min_interval 2011-07-29 12:08:42 +02:00
Mark Nauwelaerts
3a98f6f0fd rtpssrcdemux: keep a ref on the src pad while using it
Prevent a possible race if clear_ssrc() is called between getting the pad and
doing the push.

Based on patch by <olivier.crete@collabora.com>

https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:51:01 +02:00
Olivier Crête
c7b9b98648 rtpssrcdemux: Make the pads lock recursive and hold it across the signal emit
We need to keep the lock held because we don't want a push before the "new-ssrc-pad"
handler has completed. But we may want to push an event from inside that handler, hence
the recursive mutex.

https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:50:59 +02:00
Olivier Crête
e26b5391c2 rtpssrcdemux: Use PADs lock
https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:50:57 +02:00
Tim-Philipp Müller
b843f8f99c gst: udpate for position/duration/convert query API changes 2011-07-28 11:38:31 +01:00
Tim-Philipp Müller
f94ea7299a avidemux: fix compiler warning
gstavidemux.c: In function 'gst_avi_demux_parse_stream':
gstavidemux.c:1261:24: error: 'data' may be used uninitialized in this function [-Werror=uninitialized]
gstavidemux.c:1204:11: note: 'data' was declared here
2011-07-28 11:38:31 +01:00
Sjoerd Simons
4c73439ee3 rtph264depay: Cope with FU-A E bit not being set
Some h264 payloaders are unfortunately buggy and don't correctly set the
E bit in FU-A NAL when they have ended. Work around this by assuming
such a fragmentation unit has ended when there was no packet loss and a
new NAL is started
2011-07-27 18:18:13 +01:00
Arun Raghavan
89564fcb69 ac3parse: Support switching alignment on-the-fly
This allows switching of alignment for E-AC3 streams at run-time. This
is requested by downstream elements via a custom event.

https://bugzilla.gnome.org/show_bug.cgi?id=650313
2011-07-27 20:43:56 +05:30
Wim Taymans
13d0ad188f warp: add stride support 2011-07-27 12:42:21 +01:00
Wim Taymans
3e089bd7a9 rtp: fix compilation 2011-07-26 17:45:01 +02:00
Arun Raghavan
96972eb462 ac3parse: Add support for IEC 61937 alignment
When pushing out buffers over S/PDIF or HDMI, IEC 61937 payloading
requires each buffer to contain 6 blocks from each substream. This adds
code to collect all the frames needed to meet this requirement before
pushing out a buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=650313
2011-07-26 10:40:00 +05:30
Olivier Crête
6095d2a3f0 rtpsession: Always send application requested feedback in immediate mode
Send as many application requested feedback messages in immediate mode, even if they
have already been sent.

https://bugzilla.gnome.org/show_bug.cgi?id=654583
2011-07-25 17:20:59 +02:00
Olivier Crête
354faabda0 rtpsession: Don't let the computed RTP bandwidth fall too low
If it falls too low, the computed RTCP bandwidth will be near zero and
the RTCP thread will be stopped.

https://bugzilla.gnome.org/show_bug.cgi?id=654583
2011-07-25 16:19:00 +02:00
Olivier Crête
4d48109f9d rtpsession: Wait longer to timeout SSRC collision
Using the current RTCP interval to timeout SSRC collision can lead to
collisions being timed out immediately if a BYE packet is sent because
it is sent immediately, so the interval is 0. This is not what we
want. So just set a static 10 times the default RTCP interval, it
should be enough

https://bugzilla.gnome.org/show_bug.cgi?id=648642
2011-07-25 16:18:58 +02:00
Mark Nauwelaerts
9764b57b0a rtspsrc: set SOURCE flag at init time
Fixes #654816.
2011-07-25 12:44:38 +02:00
Wim Taymans
7ca40d7a53 vertigotv: add stride support 2011-07-25 10:24:33 +01:00
Wim Taymans
83bc5e0765 replay: fix for event handler 2011-07-22 21:26:32 +02:00
Wim Taymans
984a0b54eb fixes for event handler changes 2011-07-22 21:19:45 +02:00
Olivier Crête
2591a882ae rtph264depay: Complete merged AU on marker bit
The marker bit on a RTP packet means the AU has been completed, so push it out
immediately to reduce the latency.

https://bugzilla.gnome.org/show_bug.cgi?id=654850
2011-07-21 17:11:08 +02:00
Olivier Crête
118a7cc36a rtph264pay: Only set the marker bit on the last NALU of a multi-NALU access unit
An access unit could contain multiple NAL units, in that case, only the last
RTP packet of the last NALU should have its marker bit set.

https://bugzilla.gnome.org/show_bug.cgi?id=654850
2011-07-21 17:11:06 +02:00
Alessandro Decina
216dc602c3 multipart: fix compiler warning 2011-07-20 08:53:25 +02:00
Mark Nauwelaerts
1880c4145e auparse: avoid hanging on invalid short input
... as in such case there is no srcpad yet on which to forward EOS.
2011-07-19 12:05:51 +02:00
Mark Nauwelaerts
471904032d rtph264depay: reset upon FLUSH_STOP
... which is particularly needed when merging NAL units, where not resetting
would lead to output of an older (pre-flush) AU (with unintended timestamp).
2011-07-18 14:32:26 +02:00
Mark Nauwelaerts
6c0aec783a multifilesink: do not use g_slist_free_full
... as that is only in GLib 2.28, which is not yet required at this time.
2011-07-18 14:31:40 +02:00
Alessandro Decina
072bd74cc4 multifilesink: add max-files property
Add max-files property to limit the number of files saved on disk.

API: multifilesink::max-files
2011-07-18 10:21:41 +02:00
Alessandro Decina
c9096c6829 multifilesink: refactor file opening and closing code 2011-07-17 23:36:55 +02: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
Antoine Jacoutot
df3cee6606 goom: fix build on PPC on openbsd
A missing sys/param.h include results in:

/usr/include/sys/proc.h:64: error: 'MAXLOGNAME' undeclared here (not in a
function)
/usr/include/sys/proc.h:285: error: 'MAXCOMLEN' undeclared here (not in a
function)

when compiling goom on openbsd/ppc. We can just remove the two sys/ includes
here, they are not needed for anything.

https://bugzilla.gnome.org/show_bug.cgi?id=654749
2011-07-16 23:50:25 +01:00
Wim Taymans
9c087d7d85 Merge branch 'master' into 0.11 2011-07-15 17:06:39 +02:00
Olivier Crête
87c7f303b0 rtppcmApay/depay: Static clock rates on static payloads, dynamic on dynamic
Partially reverts 397dc60b
2011-07-14 20:13:01 -04:00
Olivier Crête
57a832cbb1 rtph264pay: Implement getcaps
Convert profile-level-id from RTP caps into video/x-h264 style caps (with profile and level)
2011-07-13 14:10:35 -04:00
Mark Nauwelaerts
b98585df82 rtspsrc: fix seeking regression
... introduced when shuffling around code for the async implementation
by setting state of source (and udp sources) in _play before downstream
flushing is undone.
2011-07-12 15:13:25 +02:00
René Stadler
fd38772d3e ac3parse: fix buffer duration on blocks-per-frame change
The gst_base_parse_set_frame_rate call was predicated on a change to
sample rate, duration or profile. However, the block count per frame can
also change between packets, which would result in incorrect buffer
durations.
2011-07-11 15:35:46 +03:00
Mark Nauwelaerts
eb82a50bd1 rtp: port remaining to 0.11 2011-07-10 21:50:19 +02:00
Wim Taymans
bee50961e4 y4m: port some more
Use video helpers.
2011-07-10 13:48:54 +02:00
Wim Taymans
924012111f y4m: port to 0.11 2011-07-10 13:28:27 +02:00
Wim Taymans
8926a8f753 multipart: port to 0.11 2011-07-10 12:46:03 +02:00
Wim Taymans
caf1760694 Merge branch 'master' into 0.11 2011-07-10 11:42:37 +02:00
Wim Taymans
1c4ec02be9 debug: port to 0.11, disable others
Diasable the efence and capsdebug elements, port them later.
2011-07-10 11:40:40 +02:00
David Schleef
abb646dcd1 multifilesrc: Improve looping
Add start-index and stop-index properties.
2011-07-09 19:23:41 -07:00
Jonny Lamb
9149ce8d9d multifile: add loop property to multifilesrc
Fixes: #652727

Signed-off-by: Jonny Lamb <jonnylamb@jonnylamb.com>
Signed-off-by: David Schleef <ds@schleef.org>
2011-07-09 18:58:52 -07:00
Wim Taymans
734ec56617 Merge branch 'master' into 0.11 2011-07-08 12:51:14 +02: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
David Schleef
4dcc9ee42a qtmux: Add direct dirac mapping 2011-07-07 11:27:52 -07:00
Wim Taymans
a3a253af15 effectv: port last effectv element to 0.11 2011-07-07 17:59:04 +02:00
Wim Taymans
69e2de76de effectv: port streaktv to 0.11 2011-07-07 17:49:34 +02:00
Wim Taymans
b8c426564f effectv: port radioactv to 0.11 2011-07-07 17:40:22 +02:00
Wim Taymans
99c45328b7 effectv: fix docs 2011-07-07 17:29:58 +02:00
Wim Taymans
7e3e4a90d4 effectv: port op to 0.11 2011-07-07 17:29:44 +02:00
Wim Taymans
63e05a0cc4 effectv: port quark tv 2011-07-07 17:18:21 +02:00
Wim Taymans
ec7b96010f effectv: port revtv to 0.11 2011-07-07 16:57:39 +02:00
Wim Taymans
577f689f7e effectv: port vertigotv to 0.11 2011-07-07 16:46:51 +02:00
Wim Taymans
39f689dc97 effectv: port shagadelictv to 0.11 2011-07-07 16:38:10 +02:00
Mark Nauwelaerts
6aea70a8a1 auparse: use ALWAYS src pad rather than SOMETIMES 2011-07-07 11:22:26 +02:00
Mark Nauwelaerts
6ebb23d2a0 auparse: port to 0.11 2011-07-07 11:14:16 +02:00
Wim Taymans
01fe86d53c shapewipe: beginnings of porting 2011-07-06 19:03:52 +02:00
Wim Taymans
be50d18a57 warptv: port to 0.11 2011-07-06 18:50:26 +02:00
Wim Taymans
a462c14b9d dice: keep track of info 2011-07-06 18:50:15 +02:00
Wim Taymans
a1b4b089ec effectv: port dice 2011-07-06 18:32:45 +02:00
Wim Taymans
50b0751799 effectv: port agingtv 2011-07-06 18:09:49 +02:00
Mark Nauwelaerts
a6d9995705 wavparse: use ALWAYS source pad rather than SOMETIMES 2011-07-06 16:32:13 +02:00
Mark Nauwelaerts
e9146e7aec wavparse: port to 0.11 2011-07-06 16:32:13 +02:00
Mark Nauwelaerts
9cf287ebcc wavenc: port to 0.11 2011-07-06 16:32:11 +02:00
Mark Nauwelaerts
88f107b30b qtdemux: adjust to unsigned segment fields 2011-07-06 16:32:11 +02:00
Wim Taymans
3fd1106b7e Merge branch 'master' into 0.11 2011-07-06 12:05:12 +02:00
Mark Nauwelaerts
ef02634dc6 rtpmanager: port to 0.11
* use G_DEFINE_TYPE
* adjust to new GstBuffer and corresponding rtp and rtcp buffer interfaces
* misc caps and segment handling changes

FIXME: also relies on being able to pass caps along with a buffer,
which has no evident equivalent yet, so that either needs one,
or still needs quite some code path modification to drag along caps.
2011-07-06 10:16:12 +02:00
Wim Taymans
794320a202 videoflip: fix caps 2011-07-05 15:37:52 +02:00
Wim Taymans
301e3e32ff effectv: port edgetv 2011-07-05 11:46:16 +02:00
David Schleef
f2c8761a50 goom: Don't answer lantency queries before negotiation 2011-07-04 12:59:50 -07:00
Wim Taymans
f1df4c4b32 udp: port to new API 2011-07-04 18:15:42 +02:00
Wim Taymans
99c102578f alpha: fix caps 2011-07-04 18:10:55 +02:00
Wim Taymans
b9b007e1be alpha: port to new video API 2011-07-04 18:06:48 +02:00
Wim Taymans
3c27f2435a alpha: more porting 2011-07-04 17:00:34 +02:00
Wim Taymans
476e2184f4 port to new video api 2011-07-04 16:49:55 +02:00
Wim Taymans
ead60adb33 video: port to new video apis 2011-07-04 16:49:47 +02:00
Mark Nauwelaerts
54c9b13ea7 flv: port to 0.11
* use G_DEFINE_TYPE
* adjust to new GstBuffer
* misc segment and caps changes
2011-07-04 11:50:02 +02:00
Mark Nauwelaerts
d59a00aa1c Merge branch 'master' into 0.11
Conflicts:
	ext/pulse/pulsesink.c
2011-07-04 11:48:13 +02:00
Mark Nauwelaerts
b307c74e9e flvmux: pass along segment info to collectpads
... so it can track this and be subsequently used to determine running time etc.
2011-07-04 11:36:48 +02:00
Mark Nauwelaerts
350b9b9d2d flvdemux: indicate raw format in aac caps 2011-07-04 11:36:46 +02:00
Mark Nauwelaerts
611c950868 qtmux: mind requested name for request pad 2011-07-04 11:07:13 +02:00
Mark Nauwelaerts
1ea692bc63 avidemux: free scheduling query 2011-07-04 11:06:54 +02:00
David Schleef
32aa80cda8 multipartmux: Add \r\n to tail of pushed buffers
Clients such as Firefox require the \r\n after the payload.
2011-07-03 18:27:17 -07: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
Mark Nauwelaerts
70b561bc13 multifile: port to 0.10
* use G_DEFINE_TYPE
* adjust to new GstBuffer
* misc caps handling
2011-06-30 12:35:35 +02:00
Mark Nauwelaerts
01fcf3f2ed cutter: port to 0.11
* use G_DEFINE_TYPE
* adjust to new GstBuffer
* minor misc
2011-06-30 12:35:34 +02:00
Mark Nauwelaerts
19145ce5f5 replaygain: port to 0.11
* use G_DEFINE_TYPE
* adjust to new GstBuffer
2011-06-30 12:35:33 +02:00
Mark Nauwelaerts
8d73748509 spectrum: remove deprecated property 2011-06-30 12:35:32 +02:00
Mark Nauwelaerts
2d9bcbdf03 spectrum: port to 0.11
* use G_DEFINE_TYPE
* adjust to new GstBuffer
2011-06-30 12:35:31 +02:00
Mark Nauwelaerts
696ffc85d7 level: port to 0.11
* use G_DEFINE_TYPE
* adjust to new GstBuffer
2011-06-30 11:19:12 +02:00
Mark Nauwelaerts
d9ba4b7616 equalizer: port to 0.11 2011-06-30 10:30:16 +02: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
Mark Nauwelaerts
f886681367 isomp4: port to 0.11 2011-06-29 12:46:20 +02:00
Mark Nauwelaerts
65bb271a95 avidemux: tweak some ported segment handling
... to avoid losing duration during push mode seeking, and to properly
accumulate running time when segment seeking.
2011-06-29 12:16:38 +02:00
Mark Nauwelaerts
cc526d2e52 qtmux: free date tag 2011-06-29 12:05:23 +02:00
Jonas Larsson
1912c86946 aacparse: not so greedy minimum frame size
Fixes #653559.
2011-06-28 12:40:27 +02:00
Miguel Angel Cabrera Moya
977a5eee7a rtpjitterbuffer: return correct type when assertion fails 2011-06-24 11:59:01 +02:00
Wim Taymans
f0749ed617 rtsp: fix for uri changes 2011-06-22 16:41:13 +02:00
Wim Taymans
cc65bff7c1 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	docs/plugins/inspect/plugin-esdsink.xml
	docs/plugins/inspect/plugin-gconfelements.xml
2011-06-21 18:24:41 +02:00
Mark Nauwelaerts
3daf1ecc21 rtpmp4adepay: fix output buffer timestamps in case of multiple frames 2011-06-21 15:15:33 +02:00
Olivier Crête
581a30d892 rtpsession: The signal has 5 arguments, not 4 2011-06-20 16:47:36 -04:00
Wim Taymans
458d163ccb avimux: use string for video format now 2011-06-20 12:13:11 +02:00
Wim Taymans
c9b154df2f avi: link against gstvideo now 2011-06-20 12:04:48 +02:00
Wim Taymans
b138a0906d avi: port to new caps 2011-06-20 12:03:24 +02:00
Wim Taymans
7ef7157986 Merge branch 'master' into 0.11 2011-06-17 18:12:50 +02:00
Wim Taymans
582e18b673 autodetect: fix caps 2011-06-17 18:11:55 +02:00
Luis de Bethencourt
1a3401f1be goom: fix unused-but-set-compiler warnings
Remove unnecessary res variables, core checks existance
and type of these fields for us already via the template
caps, and we know that these fields exist because we've
fixated them before in _negotiate().
2011-06-17 11:12:31 +01:00
Stefan Kost
6c3e77964a audioecho: fix param flags
If the parameter cannot be changed in paused&playing, it is not controlable. Set
the appropriate mutability flag instead.
2011-06-17 03:07:09 +03:00
Wim Taymans
83678af5e0 flacparse: fix unitialized access 2011-06-15 15:17:19 +02:00
Stefan Kost
b5d5fa2bb9 matroska: add missing stdio include for sscanf 2011-06-14 01:07:57 +03:00
Wim Taymans
fdd93fa85d Merge branch 'master' into 0.11 2011-06-13 19:08:38 +02:00
Wim Taymans
409f29700d -good: port some more plugins 2011-06-13 17:51:40 +02:00
Wim Taymans
e221908169 rtsp: fix for flush_stop API change 2011-06-13 17:14:51 +02:00
Wim Taymans
3c889415a3 rtp: port some more (de)payloader 2011-06-13 17:14:00 +02:00
Mark Nauwelaerts
d17d6d74be audioparsers: not so greedy minimum frame size
... which will be determined by parsing anyway, and avoids introducing
redundant additional latency.
2011-06-13 17:06:37 +02:00
Wim Taymans
eed80e2dd3 -good: update for buffer API change 2011-06-13 16:33:57 +02:00
Wim Taymans
9a54175e9f rtp: port to 0.11 2011-06-13 16:33:46 +02:00
Wim Taymans
b0fbb1725f rtp: fix for API changes in the base classes 2011-06-13 13:25:49 +02:00
Wim Taymans
ea16d8a4d8 avimux: use caps event for negotiation 2011-06-13 13:07:50 +02:00
Wim Taymans
3846eea65a avidemux: fix for flush stop event changes 2011-06-13 13:07:27 +02:00
Raimo Järvi
4f15c9e30e udp: Fix compiler warning on mingw-w64
Fixes: #652144.
gstudpnetutils.h:32:0: error: "WINVER" redefined
/usr/i686-w64-mingw32/sys-root/mingw/include/_mingw.h:231:0: note: this is the
location of the previous definition
2011-06-11 18:02:17 -07:00
Wim Taymans
43460d4357 goom: fix for bufferpool update 2011-06-11 18:58:07 +02:00
Wim Taymans
42f39385d6 goom: update for alignment change 2011-06-10 18:05:01 +02:00
Wim Taymans
c731cd3d95 rtsp: port to 0.11 2011-06-09 17:52:34 +02:00
Wim Taymans
7416c0e13e udp: port to 0.11 2011-06-09 17:50:08 +02:00
Wim Taymans
9290baba06 goom: port goom 2011-06-09 10:50:44 +02:00
Wim Taymans
710fa239d5 Merge branch 'master' into 0.11 2011-06-08 18:06:56 +02:00
Edward Hervey
a8effacf82 debugutils: Switch from GST_BOILERPLATE to G_DEFINE_TYPE 2011-06-07 12:06:08 +02:00
Edward Hervey
8c02b650c9 videofilter: Use new GstBaseTransform::transform_caps API 2011-06-07 11:25:18 +02:00
Edward Hervey
b3a1f5d1ed auparse: Don't use GST_BOILERPLATE 2011-06-07 11:23:55 +02:00
Edward Hervey
8c83978d56 audiofxbasefirfilter: Buffers no longer have caps 2011-06-07 11:22:35 +02:00
Edward Hervey
7505654cf7 alpha: Use new transform_caps vmethod (with filter) 2011-06-07 11:20:00 +02:00
Edward Hervey
7389cb1513 audioparsers: fix some more parsers 2011-06-06 20:43:31 +02: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
Mark Nauwelaerts
785247cfb3 rtspsrc: reset state tracking variable when appropriate
... so we don't end up interrupting an operation that should not be interrupted
based on the indication of a previous interruptable operation.
2011-06-06 12:59:23 +02:00
David Schleef
f6c348430e interleave: Work around changes in g_atomic API
See #651514 for details.
2011-06-04 13:49:52 -07: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
Wim Taymans
0b1bdcf7cb Merge branch 'master' into 0.11
Conflicts:
	sys/ximage/ximageutil.c
2011-06-02 18:51:29 +02:00
Wim Taymans
e9eb7919c7 avi: port AVI elements to new API 2011-06-02 18:47:36 +02:00
David Schleef
0672232b26 matroskamux: For streaming files, push tags first 2011-06-01 17:20:44 -07:00
Thijs Vermeir
cdc3b20ba9 udpsrc: allow skip-first-bytes of full buffer size 2011-06-01 10:19:31 +02: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
Antonio Frediani
63d350ceb3 qtmux: Use GST_TAG_IMAGE for coverart too
Fixes bug #638107.
2011-05-30 12:09:31 +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
Sebastian Dröge
0a67d131b9 avimux: Revert 1a90a6c4 and drop Dirac support again
It does not work at all (A/V sync issues), is not very useful,
other containers work much better with Dirac and Dirac in AVI
is not supported by other software.

Fixes bug #541215.
2011-05-27 09:17:46 +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
Marc Leeman
ff1c05d876 rtpmp4vpay: Deprecated send-config property and replace by config-interval
Fixes bug #622412.
2011-05-26 12:22:52 +02:00
Mark Nauwelaerts
74e0c05ff7 matroskademux: UTF-8 subtitles may have markup
Fixes #616936.
2011-05-26 12:12:57 +02:00
David Hoyt
86f9fa785a multipartdemux: Add property to assume a single stream and emit no-more-pads
Fixes bug #616686.
2011-05-25 21:12:12 +02:00
Miguel Angel Cabrera Moya
c39b7a5359 rtspsrc: uniform unknown message handling
Do the same processing in all the cases when an unknown message is received.
That is, give a warning.

https://bugzilla.gnome.org/show_bug.cgi?id=651059
2011-05-25 20:06:16 +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
Wim Taymans
f612f54a40 autodetect: port to new API 2011-05-24 18:27:10 +02:00
Wim Taymans
d89790d545 Merge branch 'master' into 0.11
Conflicts:
	gst/avi/gstavidemux.c
	gst/rtp/gstrtpac3depay.c
	gst/rtp/gstrtpg726depay.c
	gst/rtp/gstrtpmpvdepay.c
	gst/videofilter/gstgamma.c
2011-05-24 17:34:19 +02:00
Mark Nauwelaerts
397dc60b71 pcmudepay: allow variable sample rate 2011-05-24 13:13:55 +02:00
Mark Nauwelaerts
f335fee99e pcmadepay: allow variable sample rate 2011-05-24 13:13:52 +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
Jonas Larsson
090e3a6f41 qtdemux: Fix buffer leak with corrupted files
Fixes bug #650912.
2011-05-24 09:48:56 +02:00
Miguel Angel Cabrera Moya
16d71c7d96 deinterlace: fix parameter type in trace
https://bugzilla.gnome.org/show_bug.cgi?id=650937
2011-05-24 09:45:31 +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
Tim-Philipp Müller
a53540346a flacparse: tell baseparse the duration in samples for better accuracy
Tell GstBaseParse the duration in samples instead of time, so that
a duration query in DEFAULT format will return the correct number
of samples without rounding errors. Baseparse will convert this
into time itself when needed.

https://bugzilla.gnome.org/show_bug.cgi?id=650785
2011-05-23 13:50:46 +01:00
Tim-Philipp Müller
1183d0c1ab flacparse: make conversion from TIME to DEFAULT format (samples) work
Fix copy'n'paste error in the previous commit.
2011-05-23 13:23:21 +01:00
Sebastian Dröge
8823ae251a flacparse: Implement conversions between TIME and DEFAULT format
Fixes bug #650785.
2011-05-23 11:43:02 +02:00
Tim-Philipp Müller
e0cadab5c2 flacparse: don't error out on invalid minimum_blocksize value in streaminfo header
We don't use it, so may just as well accept an invalid value
of 0 here, which is likely inconsequential anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=650691
2011-05-22 18:54:18 +01:00
Stefan Kost
d122ea0122 rtp: fix static array overruns in a nicer way
Use G_N_ELEMENTS instead of hard-coding the array size.
2011-05-20 10:34:47 +03:00
Stefan Kost
5792d3b9c0 rtp: fix static array overruns
Yes array[10] has elements from 0...9.
2011-05-20 00:53:44 +03:00
Stefan Kost
9f3ae3244c qtdemux: add missing break 2011-05-19 18:27:33 +03:00
Robert Swain
c1b100cf9c deinterlace: Add support for deinterlacing using buffer caps/flags
When not using the fieldanalysis element immediately upstream of deinterlace,
behaviour should remain unchanged. fieldanalysis will set the caps and flags on
the buffers such that they can be interpreted and acted upon to produce
progressive output.

There are two main modes of operation:

- Passive pattern locking
  Passive pattern locking is a non-blocking, low-latency mode of operation that
  is suitable for close-to-live usage. Initially a telecine stream will be
  output as variable framerate with naïve timestamp adjustment. With each
  incoming buffer, an attempt is made to lock onto a pattern. When a lock is
  obtained, the src pad and output buffer caps will reflect the pattern and
  timestamps will be accurately interpolated between pattern repeats. This
  means that initially and at pattern transitions there will be short periods
  of inaccurate timestamping.

- Active pattern locking
  Active pattern locking is a blocking, high-latency mode of operation that is
  targeted at use-cases where timestamp accuracy is paramount. Buffers will be
  queued until enough are present to make a lock. When locked, timestamps will
  be accurately interpolated between pattern repeats. Orphan fields can be
  dropped or deinterlaced. If no lock can be obtained, a single field might be
  pushed through to be deinterlaced.

Locking can also be disabled or 'auto' chooses between passive and active
locking modes depending on whether upstream is live.
2011-05-19 05:45:57 +02:00
Jose Antonio Santos Cadenas
9d32243671 rtp: Fix segmentation fault processing payload buffers
This commit checks if the value returned by
gst_rtp_buffer_get_payload_buffer and
gst_rtp_buffer_get_payload_subbuffer is NULL before using it.
2011-05-18 15:25:24 +02:00
Mark Nauwelaerts
4cd2dac1da avidemux: ensure 0-padding when correcting dubious list size 2011-05-18 14:51:11 +02:00
Stefan Kost
be413185d0 rtspsrc: use EINVAL for missing url parameter
Fixes gcc warning about using uninitialized variable 'res'.
2011-05-18 10:22:27 +03:00
Stefan Kost
e34ab46420 various: fix author tag in element details 2011-05-18 09:36:58 +03:00
Chris E Jones
a1b7eeceb1 auparse: implement seeking
Implement seeking and seeking query. Fixes #644512
2011-05-18 09:36:58 +03:00
Wim Taymans
e15651816e Merge branch 'master' into 0.11 2011-05-17 16:13:59 +02:00
Mark Nauwelaerts
dc2ddea91b rtspsrc: also allow PAUSE to be interrupted
... as it is on the way out to NULL.

See #632504.
2011-05-17 11:56:47 +02:00
Mark Nauwelaerts
283e4e4afd rtspsrc: ensure proper closing and cleanup
... since the TEARDOWN sequence might not have had a chance to even start,
but at least connections should be closed (synchronously) and state cleaned up.

See #632504.
2011-05-17 11:56:38 +02:00
Mark Nauwelaerts
f7ddf811d7 rtspsrc: fix and improve async handling
Simplify the command handling; passing a command to thread means we really
want it to get the message, which means to always flush provided the command
can handle being interrupted.  Command thread indicates whether command
allows interruption and ensure non-flushing connection as it subsequently
needs it.

In particular, this also makes the TEARDOWN sequence interruptable
and also prevents races where _loop_ could miss a command and would
continue receiving (or at least trying to).

See #632504.
2011-05-17 11:56:22 +02:00
Mark Nauwelaerts
e6798ad54c rtspsrc: tweak post-seek loop handling 2011-05-17 11:55:40 +02:00
Wim Taymans
ddfcd8bbfd rtspsrc: open on play and pause when not done yet
With the async state changes, it is possible that we need to open the stream
before play and pause.
Also make sure we remember a previous open failure so that we don't keep trying
again.
2011-05-17 11:55:34 +02:00
Wim Taymans
6fe680934a rtspsrc: improve async handling
Simplify the command handling, only continue looping when we have not received
another command or when the previous loop was successfull.
Avoid looping on a disconnected socket.
2011-05-17 11:55:32 +02:00
Wim Taymans
2513207433 rtspsrc: rework reconnect code
Use the same async code path to implement reconnects.
Make sure we only post progress messages when doing async things.
2011-05-17 11:55:29 +02:00
Wim Taymans
c27c10f8f4 rtspsrc: small cleanups
Make sure we cancel the previous task when queuing a new one.
Move the messages to a central place so we can more easily post them.
2011-05-17 11:55:27 +02:00
Wim Taymans
852c6e11cd rtspsrc: don't post errors when interrupting 2011-05-17 11:55:24 +02:00
Wim Taymans
220e47adcf rtspsrc: implement more async handling
Remove some old locks.
Make sure we never go into the loop function when flushing.
2011-05-17 11:55:20 +02:00
Wim Taymans
2873585238 rtspsrc: first attempt at async implementation 2011-05-17 11:55:18 +02:00
Wim Taymans
dae679e560 rtspsrc: small header cleanups 2011-05-17 11:55:15 +02:00
Sebastian Dröge
b694bfeca3 ssrcdemux: Fix uninitialized variable compiler warning for (pre-) releases too 2011-05-17 10:47:32 +02:00
Sebastian Dröge
0f05d3e5a5 rtpssrcdemux: Fix uninitialized variable compiler warning 2011-05-17 09:24:08 +02:00
Olivier Crête
b6bfc512e8 ssrcdemux: Implement iterate internal links for sink pads
https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:29 +02:00
Olivier Crête
23b6c8febc rtpssrcdemux: iterate pad function is only valid for src pads
The iterate function is only used for src pads, so mark it as such and remove
dead code.

https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:25 +02:00
Olivier Crête
1bf94a92b0 rtpssrcdemux: Release lock before emitting signal
If the lock is not released before emitting a signal, it may cause a deadlock
if any other function in the element is called.

Also removed an unused timestamp parameter

https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:20 +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
Wim Taymans
cf1248e566 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
2011-05-16 17:52:11 +02:00
Wim Taymans
a0e301ab1a -good: fix for new API 2011-05-16 17:50:15 +02:00
Mark Nauwelaerts
8b910885ec matroskademux: additional lock safety
Fixes #619590.
2011-05-16 13:30:10 +02:00
Mark Nauwelaerts
4db6dce2db qtdemux: also check for bitrate info in caps 2011-05-16 13:30:06 +02:00
Arun Raghavan
f89caeff5c qtdemux: guess bitrate if only one stream's bitrate is unknown
If the bitrates for all but one audio/video streams are known, and the
total stream size and duration can be determined, this calculates the
unkown bitrate as (stream size / duration) - (sum of known bitrates).
While this is not guaranteed to be very accurate, it should be good
enough for most purposes.

For example, this is useful for H.263 + AAC streams where no 'btrt' atom
is available for the video portion.

https://bugzilla.gnome.org/show_bug.cgi?id=619548
2011-05-16 13:29:56 +02:00
Arun Raghavan
6e2774af55 qtdemux: Export max bitrate for AMR-NB/-WB streams
This parses the 'damr' atom if present, and exports the maximum bitrate
of the stream using the mode set field to determine the highest bitrate
frame type that might be present.

https://bugzilla.gnome.org/show_bug.cgi?id=620186
2011-05-16 13:29:50 +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
Andoni Morales Alastruey
5b99b910ec flvmux: Add support for mpegversion 2, which is also AAC 2011-05-14 11:52:13 +02:00
Sebastian Dröge
88203989cd wavenc: Set fixedcaps getcaps function on the sinkpad
wavenc does not allow to change the caps during playback
and always returning the template caps is just wrong.
2011-05-14 11:52:12 +02:00
Sebastian Dröge
f8ed8dd613 wavenc: Allow setcaps to be called after a format was negotiated if it's compatible
Otherwise wavenc will fail if upstream decides to set equivalent caps or caps
with additional information later.

Thanks to Alexander Schremmer for finding this bug.
2011-05-14 11:52:12 +02:00
Edward Hervey
cca48a42c6 qtmux: Fix signed floating point values writing
You would end up on some architectures with 0 being written out
instead of the proper value.

https://bugzilla.gnome.org/show_bug.cgi?id=649449
2011-05-05 15:10:09 +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
Tom Janiszewski
b9c2f8b38f flvmux: don't overwrite metadata tag with duration in streaming mode
A duration tag gets inserted only for streamable=false, so only
update/write the duration later if we actually inserted that tag,
otherwise we write garbage into other tags.

https://bugzilla.gnome.org/show_bug.cgi?id=649060
2011-05-01 14:13:50 +01:00
Tim-Philipp Müller
c25bf5dc34 quicktime: rename plugin to isomp4
https://bugzilla.gnome.org/show_bug.cgi?id=648004
2011-04-30 17:58:02 +01:00
Wim Taymans
63a17f4ec9 audioparsers: fix some parsers 2011-04-29 17:55:28 +02:00
Wim Taymans
b121bb0ae9 audiofx: fix pad_alloc 2011-04-29 15:46:21 +02:00
Wim Taymans
31ffc671f2 rtpgstpay: fix buffer leak 2011-04-26 16:04:07 +01:00
Wim Taymans
eb84592cad rtpgstpay: fix buffer leak 2011-04-26 15:58:12 +02:00
Wim Taymans
9a96783abb rtp: port some more elements 2011-04-25 18:14:45 +02:00
Wim Taymans
bf9b4f8362 rtp: port more to 0.11 2011-04-25 17:27:40 +02:00
Wim Taymans
60db07b4bb rtp: port some more (de)payloaders 2011-04-25 13:16:58 +02:00
Wim Taymans
237ca1631f port some more elements to 0.11 2011-04-25 12:49:36 +02:00
Wim Taymans
a1894ed363 Merge branch 'master' into 0.11 2011-04-25 11:38:28 +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
234fd201c9 quicktime: rename plugin filename from *qtdemux* to *quicktime*
https://bugzilla.gnome.org/show_bug.cgi?id=648004
2011-04-24 14:14:27 +01:00
Tim-Philipp Müller
3346a53374 docs: add various qtmux variants to documentation 2011-04-21 23:30:26 +01:00
Tim-Philipp Müller
0671b2325e quicktime: register 3gppmux element in addition to the misnamed gppmux 2011-04-21 22:51:52 +01:00
Olivier Crête
42531337f5 rtpsession: Remove incomplete support for RTCP FIR
Remove bits that were meant to suppport RTCP FIR

https://bugzilla.gnome.org/show_bug.cgi?id=648160
2011-04-20 07:50:43 +01:00
Wim Taymans
77acc618e1 use G_DEFINE_TYPE some more 2011-04-19 17:35:47 +02:00
Wim Taymans
a80f3a5d74 avi: use G_DEFINE_TYPE 2011-04-19 17:20:19 +02:00
Wim Taymans
dea50d0b98 use G_DEFINE_TYPE 2011-04-19 17:07:18 +02:00
Wim Taymans
d67288dd03 Merge branch 'master' into 0.11 2011-04-19 16:25:28 +02:00
Tim-Philipp Müller
bb23575f6b flvdemux: fix deadlock on setting index on flvdemux 2011-04-19 14:34:48 +01:00
Wim Taymans
4aa6ca5578 port more plugins to 0.11 2011-04-18 10:54:43 +02:00
Wim Taymans
7555d0949f Merge branch 'master' into 0.11
Conflicts:
	android/apetag.mk
	android/avi.mk
	android/flv.mk
	android/icydemux.mk
	android/id3demux.mk
	android/qtdemux.mk
	android/rtp.mk
	android/rtpmanager.mk
	android/rtsp.mk
	android/soup.mk
	android/udp.mk
	android/wavenc.mk
	android/wavparse.mk
	configure.ac
2011-04-18 10:23:45 +02:00
Tim-Philipp Müller
75d5c41f29 avidemux: fix 'variable may be used uninitialized' warnings caused by -DG_DISABLE_ASSERT 2011-04-17 01:29:01 +01:00
Tim-Philipp Müller
9be707d54d gst: update disted orc backup code 2011-04-16 18:49:27 +01:00
Tim-Philipp Müller
cf953fe923 qtmux: refuse incomplete legacy h264 caps
Refuse h264 caps without stream-format and codec_data fields for
now, to avoid creating broken files. This might cause some pipelines
that worked previously to fail. However, the move from -bad to -good
is our only chance to fix this up, so make it strict for now. We can
always change it back to be less strict in future.

https://bugzilla.gnome.org/show_bug.cgi?id=647919
2011-04-16 18:17:01 +01:00
Tim-Philipp Müller
f325935314 pulse, speexenc, rtpgsmpay: don't use g_assert() for error handling
Don't use g_assert() for error handling, even if they're highly unlikely.
Either we *know* that something can't happen, in which case we
should just not handle it, or we think something can happen, but it is
very very unlikely that it will ever happen, in which case we should
handle it like any other error instead of asserting.

g_assert() is best left for conditions we have control of, like checking
internal consistency of our code, not checking return values of external
code.

Fixes a bunch of warnings when compiling with -DG_DISABLE_ASSERT:
gstrtpgsmpay.c: In function 'gst_rtp_gsm_pay_handle_buffer':
gstrtpgsmpay.c:130:17: warning: variable 'rtpgsmpay' set but not used
gstspeexenc.c: In function 'gst_speex_enc_encode':
gstspeexenc.c:904:19: warning: variable 'written' set but not used
pulsesink.c: In function 'gst_pulsesink_change_state':
pulsesink.c:2725:9: warning: variable 'res' set but not used
pulsesrc.c: In function 'gst_pulsesrc_change_state':
pulsesrc.c:1253:7: warning: variable 'e' set but not used
2011-04-16 18:15:43 +01: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
Sebastian Dröge
8a4ae3dd2d apedemux: Port to 0.11 2011-04-16 14:45:25 +02:00
Robert Swain
b5c8c7708b y4mencode: shapewipe: Address unused but set variables
GCC 4.6.x complains about such usage.
2011-04-16 13:12:50 +01:00
Robert Swain
e757793b21 videomixer: Fix argb/rgba overlay orc code
Remove some redundant operations (convubw) and use the correct variable,
t2, in the orc_overlay_bgra function.
2011-04-16 13:00:49 +01:00
Robert Swain
fd6ac6aa8a videomixer: address unused but set variables
GCC 4.6.x spits warnings about variables that are set but unused. Such
variables have been removed in blend, collectpads2 and videomixer2.
2011-04-16 12:52:49 +01:00
Robert Swain
5b18c652fb rtp, rtpmanager: Address unused but set variables
GCC 4.6.x spits warnings about variables that are unused but set. Such
variables have been removed where trivial but with comments left behind
for informational purposes in some cases.

gst_rtp_session_chain_recv_rtcp () was changed in commit 490113d4
to always return GST_FLOW_OK instead of the return value of
rtp_session_process_rtcp (), so we'll keep it that way.
2011-04-16 12:49:16 +01:00
Robert Swain
1c6e8682ec quicktime: Remove unused but set variables
GCC 4.6.x spits warnings about such variable usage. Note that some
calculations are left as comments for informative purposes.
2011-04-16 12:46:12 +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
Robert Swain
101087a23a imagefreeze: Remove unused but set duration variable
GCC 4.6.x spits warnings about such variable usage.
2011-04-16 12:40:40 +01:00
Robert Swain
383e99c224 flxdemux: Remove unused but set keyframe variables
The FIXMEs about the keyframe flag never being used are left for later
fixing, at which point the keyframe variables could be added back.
2011-04-16 12:40:30 +01:00
Robert Swain
358fa0bc7a edgetv: Remove unused but set height variable
GCC 4.6.x spits warnings about such variables.
2011-04-16 12:40:17 +01:00
Tim-Philipp Müller
a0205ecd51 flacparse: update for gst_base_parse_frame_init() API change 2011-04-15 18:51:20 +01:00
Olivier Crête
9d9257916b rtpsession: Use existing functions to parse RTCP FB packets
Use existing functions to get the FCI from FB packets.

https://bugzilla.gnome.org/show_bug.cgi?id=622553
2011-04-15 12:48:04 +01:00
Olivier Crête
5ccd964d86 rtpsession: marshal GstBuffer as a MiniObject instead of a pointer
https://bugzilla.gnome.org/show_bug.cgi?id=622553
2011-04-15 12:47:40 +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
Tim-Philipp Müller
c8b5014892 qtmux: default to dts-method=reorder and presentation-time=true
https://bugzilla.gnome.org/show_bug.cgi?id=636699
2011-04-15 12:19:34 +01:00
Mark Nauwelaerts
4df05e76ed qtmux: fix corner case buffer handling for reorder method 2011-04-15 12:49:02 +02:00
Sebastian Dröge
283b30e312 flvdemux: Don't leak the SEEKING query 2011-04-14 13:47:05 +02:00
Sebastian Dröge
bf046e0430 qtmoovrecover: Don't leak the static recursive mutex 2011-04-14 13:43:06 +02: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
eb15dcb473 capsdebug: fix unused-but-set-variable warnings with gcc 4.6 2011-04-13 17:22:19 +01:00
Tim-Philipp Müller
b6b59ab1c1 avidemux: fix unused-but-set-variable warning with gcc 4.6
Most likely a leftover from when the index parsing code was rewritten.
2011-04-13 17:22:19 +01:00
Tim-Philipp Müller
063b3d9dcd ac3parse: fix unused-but-set-variable warning with gcc 4.6 2011-04-13 17:22:19 +01:00
Tim-Philipp Müller
c8a15a097a videobalance: fix handling of YUV images with 'odd' widths
Fixes unused-but-set-variable warnings with gcc 4.6.
2011-04-13 17:22:19 +01:00
Tim-Philipp Müller
d1d3e3ea02 videoflip: fix unused-but-set-variable warnings with gcc 4.6 2011-04-13 17:22:19 +01:00
Sebastian Dröge
6f480ad0ed audiowsinc{band,limit}: Fix check for divison by zero 2011-04-13 18:11:34 +02:00
Sebastian Dröge
de7a976531 audiowsincband: Fix range of kernel elements (lim -> lim-1) 2011-04-13 18:01:01 +02:00
Sebastian Dröge
4fd5fea2b2 audiowsinclimit: Add some more braces to make the code more readable 2011-04-13 18:00:44 +02:00
Jordi Burguet-Castell
766e437af1 audiowsinclimit: Fix range of kernel elements (lim -> lim-1) in high/low-pass filters 2011-04-13 17:57:06 +02:00
Sebastian Dröge
2575cfc4a6 audiowsincband: Add new windowing functions: gaussian, cos and hann 2011-04-13 17:52:30 +02:00
Jordi Burguet-Castell
782d6af83d audiowsinclimimt: Add new windows to high/low-pass filters: gaussian, cosine, hann 2011-04-13 17:52:30 +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
Thiago Santos
c385a46438 qtmux: restrict h264 some more to only accept AU-aligned AVC
https://bugzilla.gnome.org/show_bug.cgi?id=606662
2011-04-13 16:38:33 +01:00
Sebastian Dröge
4250ff5994 mpegaudioparse: The VBRI header is always at offset 0x20, independent of MPEG version
Also clean up advancing of the data pointer a bit.

Fixes bug #647659.
2011-04-13 17:12:47 +02:00
Tim-Philipp Müller
025417f124 qtmux: add variant-less video/quicktime to source pad template caps
This is needed for automatic transcoding using encodebin. Our typefinder
does not always add a variant to the found caps, and encodebin needs
an *exact* match to the caps on the source pad template, so we need
to add the variant-less video/quicktime caps to the template as well
for encodebin to be able to find it. Add unit test for this as well.

https://bugzilla.gnome.org/show_bug.cgi?id=642879
2011-04-13 15:21:59 +01:00
Tim-Philipp Müller
4d780297d8 quicktime: move qtmux plugin from -bad to -good
https://bugzilla.gnome.org/show_bug.cgi?id=636699
2011-04-13 11:55:59 +01:00
Mark Nauwelaerts
6630f7def2 qtmux: more helpful debug error message when no needed duration on input buffers
Fixes #646256.
2011-04-12 20:32:21 +01:00
Thiago Santos
aba8000188 qtmux: Adding GstTagXmpWriter interface
Adds GstTagXmpWriter interface support to qtmux
2011-04-12 20:32:21 +01:00
Mark Nauwelaerts
d178329eb0 qtmux: use running time for synchronization
See also #432612.
2011-04-12 20:32:21 +01:00
Mark Nauwelaerts
a4fad64141 qtmux: provide for PTS metadata when so configured
... and not only when sort-of feeling like it.
In any case, if it turns out all really is in order,
and presumably DTS == PTS, then no ctts will be produced anyway.
2011-04-12 20:32:21 +01:00
Mark Nauwelaerts
31c26a4551 qtmux: also track original PTS buffer timestamp in reorder dts-method 2011-04-12 20:32:21 +01:00
Edward Hervey
0a884e5620 Revert "Check that collectpads exists before removing pad"
This reverts commit 6d8740476c.

Depends on a core commit that was reverted
2011-04-12 20:32:21 +01:00
David Schleef
fe3a5c3f08 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-04-12 20:32:21 +01:00
Mark Nauwelaerts
20e4bdee32 qtmux: set src pads when starting file
... rather than at _init time, so they are also available following a
pad (de)activation cycle.

https://bugzilla.gnome.org/show_bug.cgi?id=639338
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
ae644937fc qtmux: adjust nasty case timestamp tracking
That is, all sorts of problems arise with re-ordered input timestamps that
tend to defy automagic handling for every case, so allow for a few variations
that can be tried depending on circumstances.

Also try to document accordingly.

Also fixes #638288.
2011-04-12 20:32:20 +01:00
Felipe Contreras
62c728464e qtmux: get rid of timestamp overprotectiveness
Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
b6945d4afe qtmux: simplify and fix pts_offset storing
In particular, only write a ctts atom if and only if ever a non-zero offset.
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
b852dde2db qtmux: add some more documentation 2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
60c8ed21d5 qtmux: remove large-file property
Rather, auto-determine if 64-bits fields are needed for a valid result, and
stick to plain 32-bits if not needed.

API: GstQTMux:large-file (removed)
2011-04-12 20:32:20 +01:00
Sebastian Dröge
d8a690e64c qtmux: Free AtomInfo structs 2011-04-12 20:32:20 +01:00
Sebastian Dröge
6e350ec961 qtmux: Free tag string after use 2011-04-12 20:32:20 +01:00
Lasse Laukkanen
02bdefd9ba qtmux: allow zero duration tracks 2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
07be810e0e qtmux: add documentation 2011-04-12 20:32:20 +01:00
David Hoyt
62484ac805 qtmux: handle msvc ftruncate incompatibility
Fixes #636185.
2011-04-12 20:32:20 +01:00
Alejandro Gonzalez
04b0a37f87 qtmux: gst_qtmux_check_difference verify before subtract
Avoid negative overflow by checking the order of operands
on subtraction of unsigned integers.

https://bugzilla.gnome.org/show_bug.cgi?id=635878
2011-04-12 20:32:20 +01:00
Mark Nauwelaerts
9c198ffeed qtmux: remove remnant of obsolete property 2011-04-12 20:32:20 +01:00
Marc-André Lureau
bee00aa70f qtmux: allow specifying trak timescale
This is mainly because Smoothstreaming client are broken and don't
take the TimeScale property into account.
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
92b8a00ac8 qtmux: include sdtp atoms for ismv fragmented files
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
f490e3a868 qtmux: enable default fragmented file for ismlmux 2011-04-12 20:32:19 +01:00
Marc-André Lureau
7a447b4372 qtmux: add ismlmux, for fragmented isml major brand 2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
50464d5f93 qtmux: finalize sinkpads list 2011-04-12 20:32:19 +01:00
Marc-André Lureau
bd0d320d6c qtmux: add moov in streamheader 2011-04-12 20:32:19 +01:00
Marc-André Lureau
61964eb109 qtmux: add streamable property to avoid building fragmented mfra index 2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
26a281bdab qtmux: add mfra to fragmented file
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
4b64dc2f3e qtmux: optionally create fragmented file
In this mode, an initial empty moov (containing only stream metadata) is written,
followed by fragments containing actual data (along with required metadata).
New fragments are started either at keyframe (if such are sparse) or when
property configured duration exceeded.

Based on patch by Marc-André Lureau <mlureau@flumotion.com>

Fixes #632911.
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
c61dc2ec4a qtmux: use helper to set atom flags from given uint 2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
69d07466e0 qtmux: refactor configuring and sending of moov
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
35e028f33b qtmux: refactor extra top-level atom handling
Also check a bit more for possible errors, and free proper items in such case.
2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
79f565f962 qtmux: refactor slightly using buffer helper 2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
1e3da91bd1 qtmux: fix misinforming comment 2011-04-12 20:32:19 +01:00
Mark Nauwelaerts
ce865cc374 qtmux: delegate mvex handling to atoms
... which keeps qtmux simpler.
2011-04-12 20:32:19 +01:00
Marc-André Lureau
2618cb03af qtmux: add mvex/trex in header if fragmented
One "trex" is added per "trak". We don't support default values,
but the "trex" box is mandatory.
2011-04-12 20:32:18 +01:00
Marc-André Lureau
9100168eae qtmux: add a couple of fourcc for fragmented mp4 2011-04-12 20:32:18 +01:00
Mark Nauwelaerts
c35074499a qtmux: avoid removing temp file when error occurred 2011-04-12 20:32:18 +01:00
Marc-André Lureau
c2718fdd5f qtmux: truncate buffer file after each send 2011-04-12 20:32:18 +01:00
Marc-André Lureau
3e6a415e52 qtmux: remove temp file when reset/finalize 2011-04-12 20:32:18 +01:00
Stefan Kost
1d1ffe234f various (gst): add missing G_PARAM_STATIC_STRINGS flags
Canonicalize property names as needed.
2011-04-12 20:32:18 +01:00
Mark Nauwelaerts
a5edbe38a0 qtmux: prevent infinite loop when adjusting framerate
Fixes #632070.
2011-04-12 20:32:18 +01:00
Thiago Santos
5ccc066c98 qtmux: Add G_PARAM_STATIC_STRINGS
Add G_PARAM_STATIC_STRINGS to qtmux properties
2011-04-12 20:32:18 +01:00
Thiago Santos
7065a65ec8 qtmux: Follow xmp serialization guidelines closer
qt and isom variants have different ways of serializing
xmp, follow these guidelines.

Those can be found in Adobe's xmp docs.
2011-04-12 20:32:18 +01:00
Mark Nauwelaerts
365b419216 qtmux: autodetect out-of-order input timestamps and determine DTS accordingly
Favour using input buffer timestamps for DTS, but fallback to using buffer
duration (accumulation) if input ts detected out-of-order.

Fixes #624212.
2011-04-12 20:32:18 +01:00
Marc-André Lureau
9e79307431 qtmux: use caps bitrate at last chance
If we didn't get the stream's bitrate from one of the atoms,
try getting it from the caps as a last resort.

https://bugzilla.gnome.org/show_bug.cgi?id=625496
2011-04-12 20:32:18 +01:00
Marc-André Lureau
da6bfa460d qtmux: btrt - max bitrate before average
According to iso base media file format, the max bitrate
is before the avg

https://bugzilla.gnome.org/show_bug.cgi?id=625496
2011-04-12 20:32:18 +01:00
Arun Raghavan
9e5c575b49 qtmux: Write 'btrt' atom for H.264 media if possible
This writes out the optional 'btrt' atom (MPEG4BitrateBox) for H.264
media if either or both of average and maximum bitrate are available for
the stream.

https://bugzilla.gnome.org/show_bug.cgi?id=623678
2011-04-12 20:32:18 +01:00
Arun Raghavan
4b4398c9dd qtmux: Write avg/max bitrate to ESDS if available
This collects the 'bitrate' and 'maximum-bitrate' tags on the
corresponding pad and uses these to populate these fields in the ESDS
where applicable.

https://bugzilla.gnome.org/show_bug.cgi?id=623678
2011-04-12 20:32:18 +01:00
Edward Hervey
099ad6380f qtmux: Don't use bogus codec/format tags
https://bugzilla.gnome.org/show_bug.cgi?id=623365
2011-04-12 20:32:17 +01:00
Thiago Santos
ac7f4cba67 qtmux: Write uint tags that don't have a complement
Write uint tags that have complements (e.g. track-number/
track-count) even when we only have one of them available
and set the other one to 0.

Fixes #622484
2011-04-12 20:32:17 +01:00
Edward Hervey
0fa380b199 qtmux: Remove the pad from our internal list before calling collectpads
Previously we would end up with the collectpaddata structure already freed.
This would result in a bogus iteration of mux->sinkpads (all the
GstQTPad being freed) and it wouldn't be removed from that list.

Finally, due to it not being removed from that list, we would end up
calling a bogus gst_qt_mux_pad_reset on those structures => SEGFAULT
2011-04-12 20:32:17 +01:00
David Schleef
4bb9ffa8fb qtmux: Add VP8 2011-04-12 20:32:17 +01:00
Tim-Philipp Müller
48880abb5b qtmux: use GStreamer package name and origin in the plugin info 2011-04-12 20:32:17 +01:00
Tim-Philipp Müller
1663c51243 qtmux: init debug category before using it 2011-04-12 20:32:17 +01:00
Benjamin Otte
6f27e4e488 Add -Wold-style-definition
and fix the warnings
2011-04-12 20:32:17 +01:00
Benjamin Otte
c4161b3c33 Add -Wwrite-strings
and fix its warnings
2011-04-12 20:32:17 +01:00
Benjamin Otte
62be91708f Add -Wmissing-declarations -Wmissing-prototypes to configure flags
And fix all warnings
2011-04-12 20:32:17 +01:00
Benjamin Otte
af347a9545 gst_element_class_set_details => gst_element_class_set_details_simple 2011-04-12 20:32:17 +01:00
Thiago Santos
281ef57d2b qtmux: Use xmp on mp4mux and gppmux too
Do not restrict xmp to qtmux, but use it too
on mp4mux and gppmux
2011-04-12 20:32:17 +01:00
Thiago Santos
a740adc137 qtmux: add xmp support
Adds xmp metatags adding to qtmux.

Fixes #609539
2011-04-12 20:32:16 +01:00
Tim-Philipp Müller
f9bba010fa qtmux: fix GST_ELEMENT_ERROR usage
We need to pass (NULL) rather than NULL for empty arguments.
2011-04-12 20:32:16 +01:00
Rob Clark
ae0d32843e qtmux: fix compile error
gst/quicktime/gstqtmoovrecover.c:268: warning: format not a string literal and no format arguments

https://bugzilla.gnome.org/show_bug.cgi?id=612454
2011-04-12 20:32:16 +01:00
Thiago Santos
8d86f34871 qtmux: Rename 'avc-sample' to 'avc' in caps
Fixes #606662
2011-04-12 20:32:16 +01:00
Michael Smith
8b3aca9070 qtmux: Take lock around use of (non-threadsafe) tagsetter interface. 2011-04-12 20:32:16 +01:00
Thiago Santos
953aa983bb qtmux: write all udta children atoms
UDTA might have META and other children atoms
together, write them all.
2011-04-12 20:32:16 +01:00
Thiago Santos
c92785e1c2 qtmux: Use internal sink pads list
Due to GstCollectPads sink pads list being not reliably
iteratable (when not inside the collected function) this
patch adds a sink pads list to qtmux to be used when iterating
sink pads on reset function.

Fixes #609055
2011-04-12 20:32:16 +01:00
Mark Nauwelaerts
589f70955c qtmux: prevent leaking hdlr name 2011-04-12 20:32:16 +01:00
Mark Nauwelaerts
bcc9fe0463 qtmux: support for ALAC
Fixes #580731.
2011-04-12 20:32:16 +01:00
Mark Nauwelaerts
76b6997b55 qtmux: refactor building stsd entry 'wave' extension 2011-04-12 20:32:16 +01:00
Thiago Santos
528846c5a1 qtmux: atomsrecovery: Fix compilation problem
Fixes a compilation error due to unused function result.
2011-04-12 20:32:16 +01:00
Thiago Santos
b692f9ffb0 qtmux: Adds moov recovery feature
Adds a new property to qtmux that sets a path to a file to write
and update data about the moov atom (that is not writen till the
end of the file). If the pipeline/app crashes during execution it
might be possible to recover the movie using the qtmoovrecover element.

qtmoovrecover is an element that is also a pipeline. It is not
meant to be used with other elements (it has no pads). It is merely
a tool/utilitary to recover unfinished qtmux files.

Fixes #601576
2011-04-12 20:32:16 +01:00
Michael Smith
3c0e4d8267 qtmux: for fixed-sample size streams (PCM audio, etc) don't allocate an enormous
buffer that we then won't use at all.
2011-04-12 20:32:15 +01:00
Michael Smith
d784a8da6a qtmux: handle muxing adpcm correctly. 2011-04-12 20:32:15 +01:00
Michael Smith
5f1941a000 qtmux: Set the mdia hdlr name field to what quicktime uses. Fix writing it
since it's not null-terminated. Improves compatibility with some hardware
players.
2011-04-12 20:32:15 +01:00
Michael Smith
2d3dc1653b qtmux: endianness in gstreamer is an int, not boolean. 2011-04-12 20:32:15 +01:00
Mark Nauwelaerts
150f9ad64d qtmux: streamline moov data memory storage
In particular, use arrays rather than (double) linked lists.
2011-04-12 20:32:15 +01:00
Thiago Santos
6dc515bfa7 qtmux: g_free is NULL safe 2011-04-12 20:32:15 +01:00
Benjamin Otte
6569e9587c [cleanup] Various style and cleanups
Various fixes for gtk-doc warnings and making functions without
arguments take void as parameter.
2011-04-12 20:32:15 +01:00
Thiago Santos
33bf180eaa qtmux: Actually use new caps info on renegotiation
Following the previous qtmux commit, this patch tries
to use the new info added to the caps to fill the 'trak'
atom's fields and children atoms. This way qtmux will
use the late added 'codec_data' when h264parse adds
it in the following pipeline:

videotestsrc num-buffers=200 ! x264enc byte-stream=true ! \
h264parse output-format=0 ! qtmux ! \
filesink location=test.mov
2011-04-12 20:32:15 +01:00
Thiago Santos
a5f22f03aa qtmux: Do caps renegotiation when it only adds fields
Qtmux can accept caps renegotiation if the new caps is a
superset of the old one, meaning upstream added new info to
the caps. This patch still doesn't make qtmux update any
atoms info from the new info, but at least it doesn't
reject the new caps anymore.

A pipeline that reproduces this use case is:

videotestsrc num-buffers=200 ! x264enc byte-stream=true ! \
h264parse output-format=0 ! qtmux ! \
filesink location=test.mov
2011-04-12 20:32:15 +01:00
Mark Nauwelaerts
6beda8aae0 qtmux: provide request pads under wider conditions
Fixes #606859.
2011-04-12 20:32:15 +01:00
Thiago Santos
45458c44a4 qtmux: Only accept avc-sample h264
qtmux and mp4mux should only accept h264 in avc-sample
format
2011-04-12 20:32:15 +01:00
Thiago Santos
87450c1b6e Rename aac's stream-format 'none' to 'raw'
Renames aac's stream-format from previous commits from none to
raw
2011-04-12 20:32:15 +01:00
Thiago Santos
cbc0b053ee qtmux: Only accept stream-format='none' aac
Only accept raw aac streams (stream-format=none) to avoid
generating invalid files.

Fixes #604925
2011-04-12 20:32:15 +01:00
Stefan Kost
02d1035571 qtmux: also add .h file changes to unbreak the build 2011-04-12 20:32:14 +01:00
Stefan Kost
05257feb87 qtmux: use correct names from template for request pads
The pads where names pad0, pad1, ...
2011-04-12 20:32:14 +01:00
Stefan Kost
7d9ed16bbe qtmux: move errors _new_pad to the end 2011-04-12 20:32:14 +01:00
Thiago Santos
592171b9b5 qtmux: Accept non-paired uint tags
Adds support for unpaired unsigned interger tags
2011-04-12 20:32:14 +01:00
Thiago Santos
9a6514e4a7 qtmux: Adds new tags
Maps more tags that are already posted by qtdemux

Fixes #599759
2011-04-12 20:32:14 +01:00
Thiago Santos
c5f6e74db9 qtmux: support more of j2k
Reads the new caps added to qtdemux by commit
c917d65e6d
and adds its corresponding atoms.

Also adds support for image/x-jpc as it is the same
as image/x-jp2, except that the buffers need to be
boxed inside a jp2c isom box before muxing. To solve
this the QTPads now have a function that (if
not NULL) is called when a buffer is collected. This
function returns a replacement to the current collected
buffer.

Fixes #598916
2011-04-12 20:32:14 +01:00
Thiago Santos
083f825c43 qtmux: Maps 'classification' tag for 3gpp files
Adds the mapping of 'classification' tags to writing of
'clsf' atoms for gppmux.

Based on a patch by: Lasse Laukkanen <ext-lasse.2.laukkanen@nokia.com>
2011-04-12 20:32:14 +01:00
Michael Smith
a597bd7273 qtmux: remove c++ comments and add some more comments. 2011-04-12 20:32:14 +01:00
Michael Smith
d74567ca94 qtmux: add ima adpcm support 2011-04-12 20:32:14 +01:00
Thiago Santos
79a9031c16 qtmux: replace _scale with _scale_round
Use the rounding version for improved sync between streams.
Small variations in the duration when muxing might lead to
cumullative wrong timestamping when demuxing.

Fixes #602936
2011-04-12 20:32:14 +01:00
Thiago Santos
259c204f42 qtmux: use timestamps for muxing
Try to use timestamps even when the stream has out of order
timestamps, only fall back to durations when we detect an
out of order buffer. Improves sync between streams.
2011-04-12 20:32:14 +01:00
Thiago Santos
e62be695a1 qtmux: fix missing debug argument
Adds a missing debug argument
2011-04-12 20:32:14 +01:00
Mark Nauwelaerts
7bf67a6e3d qtmux: fix misinforming debug statement 2011-04-12 20:32:13 +01:00
Mark Nauwelaerts
a64873e15a qtmux: ensure writable buffer metadata before setting caps 2011-04-12 20:32:13 +01:00
Thiago Santos
496bd01a0f qtmux: support for SVQ3
Adds support for muxing SVQ3 content. Usually this format
has decoder info that must be passed in the 'seqh' field
in the caps. It is also good to add the gama atom to make
quicktime not crash.

Fixes #587922
2011-04-12 20:32:13 +01:00