Commit graph

4126 commits

Author SHA1 Message Date
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
Wim Taymans
8de1502c9b asfdemux: fix latency calculations
We need to check for -1 as an invalid timestamp, not 1.
2009-06-22 13:39:41 +02:00
Tim-Philipp Müller
af3ab2ae94 mp3parse: don't put every single frame into the index
Let's not put every single mp3 frame in our index, a few frames per
second should be more than enough. For now use an index interval
of 100ms-500ms depending on the upstream size, to keep the index at
a reasonable size. Factor out the code that adds the index entry
into a separate function for better code readability.
2009-06-22 10:41:26 +01:00
Tim-Philipp Müller
1db592839e mp3parse: assume seekability only if we know the upstream size
While technically upstream may be seekable even if it doesn't know
the exact size, I can't think of a use case where this distincation
is relevant in practice, so for now just assume we're not seekable
if upstream doesn't provide us with a size. Makes sure we don't
build a seek index when streaming internet radio with sources that
pretend to be seekable until you try to actually seek.
2009-06-22 10:41:26 +01:00
Christian Schaller
4c62946ee9 Fix x264 requirement in SPEC file 2009-06-19 17:46:12 +01:00
Tim-Philipp Müller
0e285b3d29 x264enc, rdtmanager: fix compilation with debugging disabled 2009-06-19 15:01:46 +01:00
Jan Schmidt
b4cf5714a7 docs: Bump common. Fix comment in the docs Makefile.am 2009-06-18 20:29:27 +01:00
Jan Schmidt
f753045191 Back to development -> 0.10.12.1 2009-06-18 20:29:23 +01:00
Jan Schmidt
11d5b31a1b Add 0.10.12 release to the doap file 2009-06-18 08:54:17 +01:00
Jan Schmidt
5a62da12b0 Release 0.10.12 2009-06-18 08:34:54 +01:00
Jan Schmidt
7710fcf5da Update .po files 2009-06-18 08:34:46 +01:00
Jan Schmidt
fd1a651e63 Update .po files 2009-06-18 08:04:40 +01:00
Jan Schmidt
5d2847b71c 0.10.11.2 pre-release 2009-06-05 22:10:02 +01:00
Jan Schmidt
f30863143c win32: Remove #undef inline from the win32 config.h 2009-06-05 22:07:31 +01:00
Tim-Philipp Müller
78ed09615b mad, id3mux: (re)move broken, unmaintained and unloved id3mux element
It will be reborn with a shiny new code base under its hood in -bad.
See #581756 and #565764.
2009-06-05 21:04:07 +01:00
Jan Schmidt
c111e03e78 gitignore: Ignore some built files in the test area 2009-06-05 19:48:28 +01:00
Jan Schmidt
ad19eb26e3 docs: Update plugin inspect files 2009-06-05 19:46:17 +01:00
Jan Schmidt
5e176f4b0c Moved 'x264enc' from -bad to -ugly 2009-06-05 19:25:54 +01:00
Wim Taymans
0823e9fa14 [MOVED FROM BAD 28/28] x264enc: add multipass-cache-file property
Fixes #583627
2009-06-05 18:48:27 +01:00
Christian Schaller
fe54a7562a [MOVED FROM BAD 27/28] Remove wrong stuff from preset file 2009-06-05 18:48:27 +01:00
Christian Schaller
2920f8527a [MOVED FROM BAD 26/28] Add a more representative example preset file for x264 2009-06-05 18:48:27 +01:00
Christian Schaller
bc8f9f9a8b [MOVED FROM BAD 25/28] Add ranks to various muxers and encoders in -bad 2009-06-05 18:48:26 +01:00
Stefan Kost
811ddb9cdc [MOVED FROM BAD 24/28] x264enc: add preset support
Add preset iface and a (dummy) preset file as a starting point.
2009-06-05 18:48:26 +01:00
Mark Nauwelaerts
cd86b39a94 [MOVED FROM BAD 23/28] x264enc: add some documentation on profile 2009-06-05 18:48:26 +01:00
Janin Kolenc
5a45501fc9 [MOVED FROM BAD 22/28] x264enc: add force keyframe event handling
Use the GstForceKeyUnit event to force a keyframe.
Fixes #578112.
2009-06-05 18:48:26 +01:00