Commit graph

5339 commits

Author SHA1 Message Date
Vincent Penquerc'h
734e352b73 wavparse: add a ignore-length property
This allows playing broken streams which write an incorrect
length in their data chunks (such as, at least, one streaming
camera).

https://bugzilla.gnome.org/show_bug.cgi?id=665911
2011-12-13 13:01:03 +00:00
Mark Nauwelaerts
581ca6ce4e matroskademux: mind (un)signed in some timestamp arithmetic
... to avoid ending up with invalid (negative) duration.
2011-12-12 15:23:50 +01:00
Mark Nauwelaerts
ed3f89fad5 qtdemux: increase parse tolerance for fuzzy file cases 2011-12-12 15:23:33 +01:00
Tim-Philipp Müller
b8b8454bcb Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
330d984288 Use g_thread_try_new() instead of g_thread_crate() with newer glib versions 2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
f60eb9ae2c alpha: use new glib API for static mutex if available 2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
66f6e12888 Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
c363ae8254 matroskamux: stream-format=raw goes with aac caps, not mp3 caps 2011-12-08 11:00:45 +00:00
Stefan Sauer
b5324c288b docs: add add the two enum values that were just added too 2011-12-06 16:47:25 +01:00
Stefan Sauer
64dd9f18a7 multifilesink: expose the enum property docs for splitting mode.
Fixes #665666.
2011-12-06 16:16:12 +01:00
Sebastian Rasmussen
c090201ca5 rtpjpegpay: Ceil jpeg dimensions, instead of floor
A JPEG image inside an RTP stream has a preceeding RFC2435 header that
conveys width/height. The dimensions in this header are limited to be
multiples of 8. Since JPEG uses an MCU of 8x8 pixels any image must
already indirectly have image data dimensions that are rounded up in
order to contain enough data to render the image. Therefore this fix
safely rounds the image dimensions in the RFC2435 header up to the
closest multiple of 8.
2011-12-05 10:48:54 +01:00
Vincent Penquerc'h
0249a73a3e flacparse: ensure we only check for sample/block mixup at start
Otherwise we might trigger at some point within the file, but the
check is only making sense for the second block.
2011-12-04 12:50:57 +00:00
Vincent Penquerc'h
3e2b23280e matroskaparse: warn if accumulating headers after they were pushed
https://bugzilla.gnome.org/show_bug.cgi?id=665412
2011-12-03 18:44:39 +00:00
David Schleef
94b8f0b74e matroskaparse: fix parsing
Mark more parts as belonging to streamheaders.
2011-12-03 10:40:03 -08:00
Vincent Penquerc'h
7a7db8cbaf flvdemux: fix discontinuity threshold check when timestamps go backwards
Since unsigned types are used, a negative value would show as very, very
positive.
Fixes A/V sync on some... less than well made files where timestamps go
backwards.
2011-12-03 17:30:10 +00:00
Tim-Philipp Müller
337533ee84 matroska-mux: fix name of new property and the unit test
https://bugzilla.gnome.org/show_bug.cgi?id=654379
2011-12-01 13:22:42 +00:00
Tim-Philipp Müller
ab96fb7cdb multifilesink: add basic buffer list handling
We assume for now that all buffers in a buffer list
should end up in the same file (so we can group GOPs
in buffer lists, for example). Could optimise this
a bit to avoid the memcpy.
2011-12-01 12:50:58 +00:00
Tim-Philipp Müller
82ac47f33f multifilesink: write stream-headers when switching to the next file in max-size mode 2011-12-01 12:50:58 +00:00
Tim-Philipp Müller
bced3c218a multifilesink: add new 'max-size' mode for switching to the next file 2011-12-01 12:50:58 +00:00
Tim-Philipp Müller
5ffee06f14 multifilesink: add "max-file-size" property for new next-file mode 2011-12-01 12:50:58 +00:00
Sebastian Dröge
6ec601fa12 matroskademux: Don't forget SSA subtitles in last commit 2011-12-01 13:38:06 +01:00
Sebastian Dröge
588734b291 matroskademux: Only check for markup and escape if necessary for plaintext subtitles
Otherwise we break USF and ASS/SSA subtitles.
2011-12-01 13:35:54 +01:00
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
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
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
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
80be58c4f5 matroskaparse: don't leak stream headers
https://bugzilla.gnome.org/show_bug.cgi?id=664548
2011-11-23 01:00:14 +00: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
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
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
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
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
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
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
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
Sebastian Dröge
c603bf9891 videomixer2: Use the clip function instead of the prepare_buffer function 2011-10-28 10:40:36 +02:00
Sebastian Dröge
ae07ebedc9 videomixer2: Use collectpads2 from core 2011-10-28 09:36: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
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
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
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
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
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
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