Commit graph

4150 commits

Author SHA1 Message Date
Mark Nauwelaerts
820abb3ab8 mpegaudioparse: prevent infinite (re)syncing
Conflicts:

	gst/mpegaudioparse/gstmpegaudioparse.c
2009-09-25 18:11:48 +02:00
Michael Smith
8307e177ba mp3parse: Refactor checking for sync. Make resyncing more reliable.
Previously, we could get false sync relatively easily - it sometimes happened
on real files. This cleans the code up a fair bit, and makes it require more
confirmation that we've found valid sync before continuing.
2009-09-22 12:17:18 -07:00
Mark Nauwelaerts
57d01c2526 mpegaudioparse: ensure 2 valid headers in a row when resyncing 2009-09-17 16:22:36 +02:00
Tim-Philipp Müller
59f5b02444 dvddemux: remove bogus ifndef 2009-09-11 10:05:30 +01:00
Sebastian Dröge
d635deb9bf Automatic update of common submodule
From 94f95e3 to 19fa4f3
2009-09-05 10:23:49 +02:00
Sebastian Dröge
54e8a94782 mpeg2dec: Fix GstIndex handling, incl. refcounting and NULL indizes 2009-09-01 12:22:39 +02:00
Tim-Philipp Müller
94a404cb8d dvdsubparse: GstAdapter is not a GstObject and should be freed with g_object_unref 2009-08-31 13:44:31 +01:00
David Schleef
9fe257d16c Remove Ronald Bultje from Authors field
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.
2009-08-24 14:00:23 -07:00
David Schleef
0c15317848 asfdemux: Remove old non-built asfmux code
Remove so people don't confuse it with the new asfmux code
in -bad.
2009-08-24 14:00:23 -07:00
Sebastian Dröge
f5f10797ff a52dec: Only add the MM_ACCEL_DJBFFT flag if it's defined
It's not defined for older liba52 versions.
2009-08-23 13:35:46 +02:00
Mart Raudsepp
ebfe6c0746 a52dec: Allow liba52 to use djbfft based IMDCT transform
liba52 in a52dec-0.7.4 does not have any MMX, MMXEXT or 3DNOW based
IMDCT transform acceleration. It does however have a software based
acceleration using the djbfft library (D.J. Bernstein's library for
fourier transforms - Extremely fast library for floating-point
convolution). So allow liba52 to use it through the MM_ACCEL_DJBFFT
flag.
The liba52 copy in MPlayer sources does have SSE, 3dnowext, 3dnow
and AltiVec implementations, but those are checked for first, and
djbfft is chosen only if none of those is available - good in the
case of some distributions including a port of the MPlayer changes
in their system a52dec library.

The down and upmix code in liba52 doesn't seem to be disturbed by
this additional MM_ACCEL flag and will still use MMX, SSE or 3DNOW
versions if passed from oil_cpu_get_flags (SSE currently is not).

Fixes bug #592787.
2009-08-23 13:34:32 +02:00
Sebastian Dröge
bd8df13ab0 amr: Use opencore-amr pkg-config files if possible
This makes it possible to build the plugins when the libraries
are installed at non-standard locations.

Fixes bug #591348.
2009-08-17 17:31:10 +02:00
Mark Nauwelaerts
52f6764e4c mpegaudioparse: use metadata (xing, vbri) provided bytesize for conversions
Metadata provided seek tables are consistent with metadata's view of
total size, which typically matches real size, but need not do so
(e.g. a truncated file).  Fixes seeking and position reporting
in such truncated files (although duration based on metadata may then
still be incorrect).
2009-08-14 12:07:40 +02:00
Tim-Philipp Müller
ba49058ea9 configure: bump core/base requirements to released versions
to avoid confusion.
2009-08-10 22:22:39 +01:00
Sebastian Dröge
883fdeb3b2 configure: Remove all mentions to the id3tag plugin which was removed 2009-08-04 10:44:43 +02:00
Marvin Schmidt
228e19fb19 mad: make check for mad independent of the check for id3tag
Fixes bug #590432.
2009-08-04 10:42:09 +02:00
Thiago Santos
6adb49c501 rtpasfdepay: set padding size to the correct value
asf packets in rtp packets should come with their padding fields
set to 0 and the depayload must update them to the correct
value before pushing downstream
2009-07-31 00:25:43 -03:00
Iago Toral
79d4b18044 amr: Add AMR-WB decoder and AMR-NB encoder and decoder
These are based on the OpenCore codecs.

Fixes bug #584890.
2009-07-27 20:14:28 +02:00
Stefan Kost
817a4e3497 Automatic update of common submodule
From fedaaee to 94f95e3
2009-07-24 00:43:07 +03:00
Tim-Philipp Müller
f5d046a0b0 dvdnav: remove dvdnav plugin
Remove dvdnav plugin, it has no future. resindvd is the plugin to
use for dvd playback. Note that dvdnav was never really enabled
in -ugly, you had to edit configure.ac to get it built.
2009-07-22 11:10:38 +01:00
Sebastian Dröge
487b3b06e7 mpeg2dec: Fix unused variables compiler warnings in unit test 2009-07-19 15:34:30 +02:00
Jan Schmidt
65ae314ba9 autogen.sh: Use printf instead of 'echo -n'. Check for automake-1.1[01]
Check for more automake command variants. Use printf instead of 'echo -n'
for portability
2009-07-13 19:31:32 +01:00
Olivier Crête
b951682c42 Automatic update of common submodule
From 5845b63 to fedaaee
2009-07-13 12:24:14 -04:00
Tim-Philipp Muller
07fd87b7c6 Make git ignore more files 2009-07-02 01:22:05 +01:00
Edward Hervey
6f58ca470e asfdemux: Refactor multiple packet pull.
This also fixes a bug by which the first buffer (in a multi-packet mode)
passed to asf_demux_parse_packet() would have a GST_BUFFER_SIZE of the
full incoming buffer and not just of the single asf packet.

Fixes corrupted frames introduced by latest commit.
2009-06-29 11:13:02 +02:00
Wim Taymans
0fc6f338dc asfdemux: use the right accurate field
Remove accurate variable and its faulty use because the real variable is an
instance variable.
2009-06-29 10:58:49 +02:00
Edward Hervey
d71973cc4c asfdemux: Sprinkle branch prediction macros accross the code 2009-06-28 17:52:38 +02:00
Edward Hervey
d451dff520 asfdemux: Delay newsegment handling until we have a keyframe.
We now have a chance for packets to be collected before we send out the
newsegment. If we're not in accurate seeking (keyunit) it will set
the segment start/time to the keyframe's timestamp.
2009-06-28 17:52:38 +02:00
Edward Hervey
3b63c95450 asfdemux: Remove useless check. We already have checked for it above. 2009-06-28 17:52:38 +02:00
Edward Hervey
a3c832405e asfdemux: No longer queue GOPs now that seeking is fixed.
We now *always* seek to the keyframe just before our requested position.
When we encounter the first keyframe and we were not accurate (therefore doing
keyframe seeking), we update the segment start position to the keyframe timestamp.
2009-06-28 17:50:45 +02:00
Edward Hervey
e6c6eefefb asfdemux: Store the accurate seeking flag 2009-06-28 17:50:45 +02:00
Edward Hervey
725da8579b asfdemux: Use the average frame duration for buffers without a duration.
This will still cause some timestamp jitter, but giving a hint as to the duration
rather than nothing seems to be a better idea.
Also, this allows some scenarios (like remuxing with asfmux) to estimate the total
duration using the accumulated packet duration (which will be correct).
2009-06-28 17:33:51 +02:00
Edward Hervey
99d9b34385 asfdemux: Use index entry packet count to optimize seeking.
The simple index entries also contain the number of packets one needs
to retrieve at a given position to get a full keyframe. We therefore
use that information to retrieve all those packets in one buffer when
working in pull-mode.
2009-06-28 17:33:48 +02:00
Thiago Santos
6e2a117eb2 asfdemux: Do not try to free const pointer
In gst_asf_demux_chain_headers, when 'goto wrong_type' was called
asfdemux tried to free a const pointer that had been cast to a
normal pointer variable.
2009-06-26 21:07:59 -03:00
Edward Hervey
3c683ead7b asfdemux: Use presentation timestamp when searching in the index.
We need to take the preroll into account... else we end up too early.
2009-06-26 20:45:09 +02:00
Jan Schmidt
342a3821de Automatic update of common submodule
From f3bb51b to 5845b63
2009-06-26 13:43:16 +01:00
Edward Hervey
c1bf0a091c asfdemux: Convert index entry from presentation time to timestamps.
We weren't taking the preroll into account previously, meaning that we
were always seeking preroll nanoseconds too early... resulting in a lot
of dropped packets (which are before the start time).

This brings quit a bit closer to as-fast-as-possible seeking in asf files.
2009-06-26 13:35:38 +02:00
Edward Hervey
db5ddf927c asfdemux: Fix byte array metadata handling.
We basically discard byte array metadata. Should be trivial to adapt
to storing the pointers if we need it later on.
2009-06-26 10:58:56 +02:00
Edward Hervey
a3f200e4f8 asfdemux: Handle PAR/interlaced information stored in packet payload.
This is the 'other' way to store non 1/1 PAR in asf streams (by storing it
in the ASF Packet payload extensions).
2009-06-26 10:42:29 +02:00
Edward Hervey
1cc2eed416 asfdemux: Store/Handle global metadata (not specific to one stream).
This allows us to store (and handle) PAR information which might be stored there.
2009-06-26 10:42:29 +02:00
Mark Nauwelaerts
6aa267cfc8 mpegaudioparse: fix Xing inverse seek table building 2009-06-25 18:27:54 +02:00
Jan Schmidt
3dd687c4c2 Automatic update of common submodule
From f3bb51b to f810030
2009-06-24 15:15:37 +01:00
Tim-Philipp Müller
16a09febbd asfdemux: don't try to free a NULL taglist 2009-06-23 16:45:00 +01:00
Tim-Philipp Müller
6ec0b61980 asfdemux: post tags only after we've created our source pads
Post global tags only after we've added our source pads, so that
tag events get sent downstream in addition to tag messages posted
on the bus. This makes sure tags can be picked up automatically
when transcoding, but also by tagreadbin/playbin2. Fixes #519721.

While we're at it, also add a container-format tag.
2009-06-23 02:14:00 +01:00
Tim-Philipp Müller
aa0d6f7b48 asfdemux: use new bytereader functions for image tag parsing 2009-06-23 01:38:01 +01:00
Mark Nauwelaerts
1874bf5910 asfdemux: remove some more unused variables 2009-06-22 19:10:17 +02:00
Mark Nauwelaerts
095c8eb5d4 rmdemux: plug buffer leaking 2009-06-22 19:10:15 +02:00
Wim Taymans
22b82d30e5 asfdepay: guard against dropped buffers
If a buffer was dropped, we might request data from the adapter that is not
there and then we get a NULL buffer.
2009-06-22 17:36:21 +02:00
Wim Taymans
36d0450d6e asfdemux: set DISCONT on streams
When we receive a DISCONT as input, don't clear our complete state but simply
mark a discont that will be put on the next buffer. The code will be able to
handle and throw away incomplete data.
Add some more debug info.
Remove an unused variable.
2009-06-22 17:16:58 +02:00
Wim Taymans
c53fd9ded1 asfdepay: set DELTA_UNIT flag correctly
Only set the DELTA_UNIT flag when we are not dealing with a keyframe.
Add some more debug info.
2009-06-22 17:15:52 +02:00