Mark Nauwelaerts
b175d1cbc4
flvmux: properly determine final duration
...
... which can be authoratively obtained from our own written timestamps.
2011-12-19 17:45:07 +01:00
Mark Nauwelaerts
fa5c02b211
flvmux: only write full metadata at start
...
... rather than having (potentially) unnecessary duplicates written all over,
or even contradictory varying filesize info, or duration info that will not
be rewritten upon header rewrite.
2011-12-19 17:45:04 +01:00
Mark Nauwelaerts
8c32195d51
flvmux: use GstCollectPads2 buffer callback and running time clipper
...
... since the default collection heuristics suffice.
2011-12-19 17:45:01 +01:00
Mark Nauwelaerts
0c7a491a6f
qtmux: use GstCollectPads2 buffer callback and running time clipper
...
... since default collection heuristics suffice.
2011-12-19 17:44:57 +01:00
Mark Nauwelaerts
f06d741633
matroskamux: bring a few debug statements up to specs
...
... and minor spelling fix.
2011-12-19 17:44:55 +01:00
Mark Nauwelaerts
0626724262
matroskamux: additional subtitle support
2011-12-19 17:44:52 +01:00
Mark Nauwelaerts
0845a3718a
matroskamux: additional buffer handling cleanup
2011-12-19 17:44:43 +01:00
Mark Nauwelaerts
7723d64a73
matroskamux: use GstCollectPads2 buffer callback and running time clipper
2011-12-19 17:44:41 +01:00
Vincent Penquerc'h
16a4c596eb
aacparse: parse LOAS variant
...
The LOAS variant seems to have three different subvariants itself,
only one of them is implemented as my two samples happen to be
using that one.
The sample rate is not always reported correctly, as the "main"
sample rate is apparently sometimes half what it should be (both
of my samples report 24000 Hz there), and there are two other
parts of the subvariant with different sampling rates. One of them
is parsed, but not the other, as it's located after some other
large amount of variable data that needs parsing first, and there
seems to be a LOT of it, which is useless for our needs here.
This ends up being rather inconsequential, as ffdec_aac_latm,
which is the only decoder that can decode such streams, does not
need the sample rate on the caps anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=665394
2011-12-19 11:39:44 +00:00
Mark Nauwelaerts
50be1d5dae
flvmux: use GstCollectPads2 event callback
...
... in stead of local HACK.
2011-12-15 16:49:41 +01:00
Mark Nauwelaerts
f6b38f2c39
matroskamux: use GstCollectPads2 event callback
...
... in stead of local HACK.
2011-12-15 16:31:36 +01:00
Mark Nauwelaerts
97391f1402
avimux: use GstCollectPads2 event callback
...
... in stead of local HACK.
2011-12-15 16:31:33 +01:00
Mark Nauwelaerts
7480b4407e
qtmux: use GstCollectPads2 event callback
...
... in stead of local HACK.
2011-12-15 16:31:29 +01:00
Vincent Penquerc'h
994dbb4c39
smpte: port to GstCollectPads2
2011-12-14 19:13:21 +00:00
Vincent Penquerc'h
738ee836f3
multipartmux: port to GstCollectPads2
2011-12-14 19:10:53 +00:00
Vincent Penquerc'h
c422a4e2e6
matroskamux: port to GstCollectPads2
2011-12-14 19:07:23 +00:00
Vincent Penquerc'h
79a6e23c1f
qtmux: port to GstCollectPads2
2011-12-14 19:02:23 +00:00
Vincent Penquerc'h
3135cab5a3
interleave: port to GstCollectPads2
2011-12-14 18:55:36 +00:00
Vincent Penquerc'h
44d001346a
flxmux: port to GstCollectPads2
2011-12-14 18:52:37 +00:00
Vincent Penquerc'h
a89e2b7e48
avimux: port to GstCollectPads2
2011-12-14 18:38:09 +00:00
Mark Nauwelaerts
ebfc77da19
matroskademux: filter bogus index entries with missing block number
...
... to avoid contradictory information resulting in seeks sending more
downstream than needed for the corresponding segment.
2011-12-13 18:20:49 +01:00
Mark Nauwelaerts
00ed34d2eb
matroskademux: cater for safer arithmetic with global start time
2011-12-13 18:20:47 +01:00
Mark Nauwelaerts
fd88096577
matroskademux: tweak final closing segment sending
...
... to avoid it interfering with (sparse) stream syncing.
2011-12-13 18:20:44 +01:00
Thiago Santos
4a5364d7f6
qtmux: make debug message more useful
...
Add information about the taglist and which pad received the
tag event on the debug logging.
2011-12-13 10:21:31 -03:00
Vincent Penquerc'h
ecec3859d8
wavparse: avoid using floating point unnecessarily
...
https://bugzilla.gnome.org/show_bug.cgi?id=665911
2011-12-13 13:01:03 +00:00
Vincent Penquerc'h
b612550379
wavparse: fix format specifier signedness
...
Use unsigned specifiers for all unsigned values.
A lot of the values used here are unsigned, and some can take
high enough values that their signed counterpart will be negative.
https://bugzilla.gnome.org/show_bug.cgi?id=665911
2011-12-13 13:01:03 +00:00
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