Vincent Penquerc'h
213ce049ad
various: fix pad template ref leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:10:01 +00:00
Edward Hervey
daecb74456
asfdemux: Don't leak pending payload buffers
...
Fixes #662964
2011-10-29 11:57:40 +02:00
Mark Nauwelaerts
eee31aecb3
asfpacket: skip empty payload packets
...
... which also avoids assertion failures and possible segfaults later on
when possibly trying to join 2 empty buffers.
2011-09-08 17:02:27 +02:00
Mark Nauwelaerts
3ba6d1588f
rtpasfdepay: fix fragmented packet handling and packet padding
...
Also remove a bogus assert.
2011-06-06 12:55:02 +02:00
Mark Nauwelaerts
58e445d91f
rtpasfdepay: simplify and refactor packet parsing
...
Specifically, refactor buffer padding and consider marker bit for fragment
assembling.
2011-05-16 12:53:27 +02:00
Mark Nauwelaerts
4f2627e737
rtpasfdepay: avoid re-sending header
...
... e.g. following a seek, which otherwise confuses downstream demuxer
expecting only a flow of data packets at this time.
2011-05-16 12:53:24 +02:00
Mark Nauwelaerts
81f62a987a
rtpasfdepay: remove unused field
2011-05-16 12:53:20 +02:00
Tim-Philipp Müller
81173fcbad
asfdemux: fix unused-but-set-variable warnings with gcc 4.6
2011-04-14 15:03:33 +01:00
Thibault Saunier
1e6a607e01
android: make it ready for androgenizer
...
To build gstreamer for android we are now using androgenizer which
generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:31:13 +02:00
Edward Hervey
67f754a9ea
asfpacket: Avoid using broken duration extension
...
Quite a few (broken?) files have a packet duration of 1ms, which is
most definitely wrong for either audio or video packets.
We therefore avoid using that value and instead use other metrics to
determine the buffer duration (like using the extended stream properties
average frame duration if present and valid).
2011-01-30 16:17:19 +01:00
Edward Hervey
6eb48af87c
asfdemux: Handle new type of DRM'd asf files.
...
These are produced by the new MS PlayReady system.
https://bugzilla.gnome.org/show_bug.cgi?id=639226
2011-01-11 17:51:31 +01:00
Sebastian Dröge
704b371944
asfdemux: Don't use GST_FLOW_IS_FATAL()
...
And don't post error messages for UNEXPECTED and post an error
message if pulling data failed because of NOT_LINKED.
2010-09-04 14:57:51 +02:00
Edward Hervey
776a09149e
asfdemux: Don't error out on non-critical flow returns
...
Only error out when downstream returns:
* NOT_SUPPORTED
* ERROR
* NOT_NEGOTIATED
* NOT_LINKED
If we got _UNEXPECTED, we push an EOS downstream (since maybe only one
of the streams had gone EOS) and then stop the task silently.
In the case of WRONG_STATE we just need to stop silently
https://bugzilla.gnome.org/show_bug.cgi?id=600412
2010-08-27 17:59:12 +02:00
Thiago Santos
81dfce4095
asfdemux: Fix seeking after last commits
...
Don't handle wrong-state returns as errors to allow seeking to work
again.
2010-06-28 09:34:30 -03:00
Thiago Santos
36e12c92c1
asfdemux: Push all pending data on EOS
...
When on push mode and receiving an EOS event, asfdemux
should push all pending data because we might be dealing
with a broken file that has a preroll value higher
than its actual length.
2010-06-24 19:46:39 -03:00
Thiago Santos
ec3b13a250
asfdemux: Fix sending eos event for chained asfs
...
Properly push EOS event when finishing a chained asf file
in pull mode
Fixes #599718
2010-06-24 19:29:17 -03:00
Edward Hervey
5ac4ea3f1b
asfdemux: Allow at least 500ms of preroll.
...
Some files have insanely low preroll values which break the
all_streams_prerolled() logic.
Fixes #622407
2010-06-23 11:06:54 +02:00
Wim Taymans
aa2a7bdda2
asfdepay: we require a dynamic payload type
...
Add an extra caps property that restricts the depayloader to only accept dynamic
payload types.
2010-04-15 16:31:23 +02:00
Edward Hervey
f34dd3626a
asfdemux: Make a table static to avoid having to always allocate it.
2010-04-14 09:30:54 +02:00
Tim-Philipp Müller
c8e931574e
build: fix up Makefile.am
...
Mostly just add $(GST_BASE_CFLAGS) where they're missing and fix
the order a bit here and there (see docs/random/moving-plugins).
2010-03-19 00:12:38 +00:00
Benjamin Otte
9850bd814f
gst_element_class_set_details => gst_element_class_set_details_simple
2010-03-18 15:53:14 +01:00
Edward Hervey
48a1935cb0
asfdemux: Don't set durations of 0 on outgoing buffers.
...
Some (broken) streams don't have the extended stream properties in
the header, resulting in applying a duration of zero on outgoing
buffers.
Fixes #611473
2010-03-01 16:52:08 +01:00
Edward Hervey
79b154e4f7
asfdemux: Make sure we always set proper payload duration.
...
Some (broken) streams will have a delta of 0, resulting in outgoing
buffers having durations of 0.
Fixes #611473
2010-03-01 16:51:56 +01:00
Edward Hervey
417e3e0346
asfdemux: Make sure we don't end up with negative timestamps.
...
Some files have payload with timestamps smaller than the preroll duration.
Instead of blindly substracting the preroll value (and ending up with
insanely high timestamps on the outgoing buffers), we make sure we
never go below 0.
Fixes #610432
2010-02-19 18:11:13 +01:00
Robert Swain
ad45fd1827
asfdemux: Improve seek behaviour for audio-only with no index
...
Instead of seeking to seek_time - 5s in the hope of hitting a keyframe
for video, we can just seek to seek_time instead.
2010-02-16 13:02:47 +01:00
Thiago Santos
8f60eb26f3
asfdemux: Do not subtract padding twice
...
Only subtract implicit padding if an explicit one isn't
provided. Avoids subtracting it twice and causing
parsing errors.
Fixes #607698
2010-01-22 15:49:58 -03:00
Stefan Kost
da70785dcd
assert: g_assert_not_reached() cannot replace return statement
...
Fix build with assert being turned off.
2010-01-22 16:55:14 +02:00
Edward Hervey
8829c5141a
asfdemux: Don't forget to update flow variable
...
Forgot to update the return value in the loop.
2010-01-18 18:01:55 +01:00
Edward Hervey
bb20a20d86
asfdemux: Check flow return on every push
...
We previously only aggregated flow returns after the while(push) loop,
which meant that in some cases we would end-up not properly aggregating
the flow returns.
This is based on the same flow aggregation algorithm as oggdemux.
2010-01-18 17:51:57 +01:00
Michael Smith
84d80fffcd
asfdemux: Use GST_STR_NULL in a couple of places.
...
Fixes crashing on some of the log statements on win32.
2010-01-07 14:37:31 -08:00
Thiago Santos
db73c4337d
asfdemux: Post bitrate tag
...
If stream bitrate object is available, post the bitrate
tags.
Fixes #599297
2010-01-07 13:54:21 -03:00
Benjamin Gaignard
26290a698c
asfdemux: Don't call strlen() on NULL pointers
...
Fixes bug #602280 .
2009-11-18 09:58:39 +01:00
Thiago Santos
b4007d3c76
asfdemux: Remove old pads when new ones are added
...
The old pads were being removed before adding the new ones,
we should add the new ones first.
Fixes #599718
2009-11-09 15:02:05 -03:00
Thiago Santos
a155733bff
asfdemux: Handle chained asfs on pull mode
...
Adds chained asfs handling to pull mode. It now checks if
there is a new asf header after the last packet (when it
is possible to know how many packets are) or it tries
checking if a processed packet that fails is an header
object.
Fixes #599718
2009-11-09 14:24:13 -03:00
Thiago Santos
dc65baacf6
asfdemux: properly do chained asfs on push mode
...
To properly do chained asfs work with playbin2, we need to
push eos on the old pads before removing them.
Fixes #599718
2009-11-09 14:23:04 -03:00
Thiago Santos
37e805ef24
asfdemux: add support for chained asfs (push mode)
...
Adds support for detecting and playing chained asfs
in push mode. asfdemux tries to detect a new asf start
by identifying the header object guid in a input buffer.
When it finds it, it resets its state, removing its pads
and creates new ones for the new file.
2009-11-06 18:59:30 -03:00
Tim-Philipp Müller
9e3e475f36
asfdemux: fix two small leaks
2009-11-05 18:33:09 +00:00
Tim-Philipp Müller
b84bf977b1
asfdemux: prefer WM/TrackNumber over WM/Track, it's more reliable
...
WM/Track has a 0 base but is often wrongly written as starting from 1,
so not as reliable as WM/TrackNumber which always starts from 1.
2009-11-05 18:19:58 +00:00
Tim-Philipp Müller
1c88985618
asfdemux: WM/Track starts counting from 0, adjust to start from 1
2009-11-05 18:11:55 +00:00
Tim-Philipp Müller
aa52dd1320
asfdemux: map WM/TrackNumber to GST_TAG_TRACK_NUMBER as well
...
There's both WM/Track and WM/TrackNumber.
2009-11-05 18:11:35 +00:00
Jan Schmidt
acd6f70515
asfdemux: Fix bogus variable used uninitialised warnings
2009-11-04 15:46:04 +00:00
Michael Smith
2349f09e6a
asfdemux: fix c99-style comments.
2009-10-29 11:39:13 -07:00
Michael Smith
5ccedb2a38
asfdemux: accept fragments in a continued packet where the subsequent fragments
...
declare a size of 0. Fixes bug 600037.
2009-10-29 10:36:08 -07:00
Thiago Santos
59f6c82c32
asfdemux: careful to avoid crash on bogus data
...
When receiving bogus data, we have to avoid subtracting a value
larger than 'size' from 'size' variable, resulting in a wrap
that would make 'size' a really large bogus value.
Fixes #599333
2009-10-26 17:31:19 -03:00
Josep Torra
c4fe899f1a
asfdemux: fix warning in macosx snow leopard
2009-10-11 16:06:25 +02:00
Stefan Kost
d125baa8c5
build: fprintf, sprintf, sscanf need stdio.h
2009-10-07 14:22:09 +03: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
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
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