Commit graph

4087 commits

Author SHA1 Message Date
Wim Taymans
fc1db23b84 mpeg2dec: work around old mpeg2dec versions
The repeat first field flag was introduced in 0.5.0 so conditionally disable its
detection and just assume no rff is used. This fixes the compilation.

Fixes #582375
2009-05-12 20:34:20 +02:00
Wim Taymans
707d2fceae mpeg2dec: link to gstvideo
Fix compilation by adding the right include directories and linking to the video
library.
2009-05-12 20:24:02 +02:00
Edward Hervey
f6f09cbb0a asfdemux: Downgrade simple statements from WARNING to DEBUG 2009-05-12 11:57:04 +02:00
Edward Hervey
61c00741a2 asf: Detect more payload extensions.
These should help fix interlaced/PAR issues with more files.
2009-05-12 11:53:45 +02:00
Edward Hervey
8905e8c81e mpeg2dec: Implement interlaced support.
Expand the debugging statements to show more picture information.
2009-05-12 11:44:52 +02:00
Sebastian Dröge
40c87181c5 mpeg2dec: Lower rank to MARGINAL to make ffdec_mpeg2video the default
ffdec_mpeg2video is much faster, fixes bug #574461.
2009-05-12 11:19:00 +02:00
Sebastian Dröge
87fbf6f4ff lamemp3enc: Don't write a Xing header 2009-05-10 16:53:07 +02:00
Marc-Andre Lureau
af5791ed41 Run libtoolize before aclocal
This unbreaks the build in some cases. Fixes bug #582021
2009-05-10 16:46:54 +02:00
Edward Hervey
58b34b3553 mpeg2dec: use 64bit safe scaling functions.
Got this to fail when seeking in a 14GB file (the value in bytes is
bigger than 2**32).
2009-05-09 15:30:07 +02:00
Tim-Philipp Müller
674323b56d mpegaudioparse: remove some pointless g_return_if_fail()s 2009-05-09 10:57:34 +01:00
Christian Schaller
39018c8547 Switch twolame to primary rank 2009-05-08 14:24:47 +01:00
Christian Schaller
b8a116982b Add ranks to mp3 encoders 2009-05-07 17:59:52 +01:00
Christian Schaller
f2b326d77b Add twolame plugin to spec file 2009-05-07 17:57:17 +01:00
Mark Nauwelaerts
e8a6ad2546 asfdemux: use upstream segment and timestamps for some interpolation
This should particularly help in case of upstream live src, e.g. rtspsrc,
and especially so if it has to perform fallback to TCP.
2009-05-07 12:23:51 +02:00
Edward Hervey
71da4cc7ae rtpasfdepay: Add support for fragmented packet (L == 0).
This happens with rtp-over-udp.
2009-05-07 12:39:00 +02:00
Sebastian Dröge
50dd597ff1 lamemp3enc: Fixup the bitrate only for CBR
Additionally clarify some property descriptions.
2009-05-07 10:10:58 +02:00
Alessandro Decina
bfbddbed8b lame: fix format string in debug statement 2009-05-06 21:47:17 +02:00
Jan Schmidt
b18371c1ca mp3parse: Don't reject valid Xing tables of contents
Some Xing headers apparently start the TOC at byte 1 instead of 0. Don't
reject them because of it, just subtract the initial offset when reading
the table.
2009-05-06 15:37:44 +01:00
Jan Schmidt
85a88a0a64 mp3parse: Allow more bits to change in headers during resynch
Be more lenient about what we accept as changing bits in a header - basically,
only require that the mp3 sync marker is present, for the mpeg version,
layer and samplerate.

Fixes: #581464
2009-05-06 15:27:01 +01:00
Edward Hervey
88db06cb65 mad: Add duration of incoming/outgoing buffers in debug statements 2009-05-06 13:17:35 +02:00
Edward Hervey
c1953235fa mpegaudioparse: Remove useless checks for valid buffer duration.
The buffer duration is set to a valid value at the very top of
emit_frame(), we therefore don't need to check it later on.
2009-05-06 13:15:30 +02:00
Edward Hervey
21d2fffb13 mpegaudioparse: Fix stop condition for outputting buffers.
Some mp3 streams have an offset in timestamps, requiring us to push the
frame *AFTER* segment.stop in order for the decoder to be able to push
all data up to the segment.stop position.
2009-05-06 13:13:35 +02:00
Mark Nauwelaerts
8b2812ca2e asfdemux: 0-base timestamps consistently (whether or not streaming)
This also makes timestamps (more) consistent before and after a possible
seek, and moreover makes for reasonable position reporting in live stream
(whose payload timestamps should not be taken for granted).
2009-05-05 22:41:41 +02:00
Mark Nauwelaerts
0b28139203 asfdemux: report initial latency due to internal preroll queue 2009-05-05 22:41:39 +02:00
Mark Nauwelaerts
c2d092765a asfdemux: enhance debug statement and refactor some initialization 2009-05-05 22:41:37 +02:00
Mark Nauwelaerts
b8297952cf asfdemux: handle FIXME; activate pads after internal preroll also when streaming 2009-05-05 22:41:35 +02:00
Mark Nauwelaerts
44ebe58377 asfdemux: handle FIXME; normalize preroll 2009-05-05 22:41:33 +02:00
Mark Nauwelaerts
b6d4fb9e4f asfdemux: fixes for streaming mode
* Improve newsegment handling, e.g. upstream might live in TIME.
* Only send newsegment if we have needed info.
* Avoid reading past end of data section.
2009-05-05 22:41:30 +02:00
Mark Nauwelaerts
2bd14c7153 asfdemux: fixes/enhancements for streaming mode
* Do not rock the boat by reacting to FLUSH_START.
* Try to handle TIME seeking by seeking upstream in BYTES.
* Handle SEEKING query.
2009-05-05 22:41:26 +02:00
Tim-Philipp Müller
95ddda57e2 lame: fix compilation with LAME versions < 3.98
lame_set_VBR_quality(), which takes a floating point value for the
quality, has been added only in v3.98. Use lame_set_VBR_q(), which
takes quality as an integer, for older LAME versions.

Fixes #581341.
2009-05-05 16:38:19 +01:00
Tim-Philipp Müller
9d351ccb63 win32: update config.h to git
Until someone ports the new win32 config.h logic from the
other modules to -ugly.
2009-05-04 20:39:14 +01:00
Sebastian Dröge
afc6bfec14 Update docs 2009-05-04 12:53:06 +02:00
Sebastian Dröge
54d7c0d563 lamemp3enc: Add a note to the encoding-engine-quality property
that says, that this does not affect the bitrate at all.
2009-05-04 12:51:29 +02:00
Sebastian Dröge
3511ecbf5d lame: Implement preset interface 2009-05-04 12:48:43 +02:00
Sebastian Dröge
d7709085b9 twolame: Implement preset interface 2009-05-04 12:47:03 +02:00
Sebastian Dröge
1dcdac7629 lamemp3enc: Remove fast-vbr property and rename vbr-quality to quality 2009-05-04 11:18:15 +02:00
Sebastian Dröge
699f1707c3 lame/lamemp3enc: Fix memory leak on FLUSH_STOP 2009-05-04 11:18:15 +02:00
Sebastian Dröge
bd6eb05e95 lame: Deprecate the lame element 2009-05-04 11:18:15 +02:00
Sebastian Dröge
fb8e3c8c07 Update docs 2009-05-04 11:18:14 +02:00
Sebastian Dröge
78e2da1dfd lame: Update example pipelines with the new properties 2009-05-04 11:18:14 +02:00
Sebastian Dröge
389a6ea0ec lame: Add lamemp3enc element with much simplified interface
This deprecates the lame element and fixes bug #494528.
2009-05-04 11:18:14 +02:00
Edward Hervey
804f65e6db asfpacket: Fix pull-mode timestamping handling.
The problem that happens is the following:
* A packet with multiple payloads comes in
* Those payloads get handled one by one
* The first payload contains the first audio payload with timestamp A
* The second payload contains the first video (key)frame with timestamp V (where V < A)

With the previous code, the following would happen:
* the first payload gets processed, then passed to queue_for_stream
* queue_for_stream detects it's the first valid timestamp received and stores
  first_ts = A
* the second payload gets processed, then pass to queue_for_stream
* queue_for_stream detects the timestamp is lower than first_ts... and
  discards it... resulting in losing the first keyframe of the video stream

We've been having this issue for *ages*... it's just that nobody noticed it
that much with playbin. But with playbin2's aggresive multiqueue handling, this
will result in multiqueue not being able to preroll (because the video decoder will
be dropping a ton of buffers before (maybe) receiving the next keyframe).

Tested with over 200 asf files, and they all play the first frame correctly now,
even the most braindead ones.
2009-04-23 09:04:41 +02:00
Michael Smith
e7450c2df7 mp3parse: don't build seek table if we can't seek.
Fixes #573720 - unbounded memory usage increase when listening to mp3
stream for a long time.
2009-04-21 14:16:52 -07:00
Jan Schmidt
4927c124ff Automatic update of common submodule
From b3941ea to 6ab11d1
2009-04-21 22:13:32 +01:00
Edward Hervey
8dcbcd6645 mpegaudioparse: Remove dead assignment and duplicate code 2009-04-21 20:37:20 +02:00
Edward Hervey
29b34e049c rmdemux: Actually return the return value for the seek handling. 2009-04-21 20:37:19 +02:00
Edward Hervey
df349f9359 mpegstream: Remove dead assignments.
The duplicate assignment of update_time was weird... but it seems normal
that it's indeed the second statement which is the valid one.
2009-04-21 20:37:19 +02:00
Edward Hervey
d8ef47b5ea armnb: Remove unused variable, adapt debug message accordingly. 2009-04-21 20:17:19 +02:00
Edward Hervey
fe68ecd653 dvdsub/mpegstream: _class_init: Remove unused class variables 2009-04-21 20:15:56 +02:00
Edward Hervey
bb6697ba4c asfdemux: Initialize flow for a corner case.
This might be caused by entering the if() line 1214 and then not having
any activated_streams.. resulting in reaching line 1267 without having
any valid flow value.
2009-04-19 14:03:58 +02:00