Nicolas Dufresne
cde5a81aba
asfdemux: convert invalid 0 payload TS into GST_CLOCK_TIME_NONE
...
... so it does not get used as first (valid) payload ts, whereas
the first real valid payload ts may be considerably larger.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679838
2012-07-20 16:19:01 +02:00
Mark Nauwelaerts
f7c5be9dd1
asfdemux: slightly relax supported seek requirements
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680279
2012-07-20 14:53:05 +02:00
Tim-Philipp Müller
ff9aa50bc8
asfdemux: extract WM/Year as GstDateTime instead of GDate
...
So we can signal that only the year field is valid.
2012-07-15 20:12:46 +01:00
Tim-Philipp Müller
0c6e50a7b8
asfdemux: don't leak payload if we are not pushing it
2012-07-13 15:41:05 +01:00
Edward Hervey
2a0945887e
demuxers: Push STREAM_START when needed
2012-07-13 13:59:42 +02:00
Wim Taymans
fb8a3d2174
asf: don't push on inactive streams
2012-07-13 11:36:40 +02:00
Sebastian Dröge
3cf076035d
gst: Implement segment-done event
2012-07-05 13:12:45 +02:00
Wim Taymans
e8bc11bfbd
asf: fix x-wmv format in caps
2012-06-27 11:23:36 +02:00
Wim Taymans
234d15c9d0
asf: unmap packets
2012-06-27 10:24:45 +02:00
Bastien Nocera
53cfef3e0f
asfdemux: Ignore parsing errors from broken packets
...
We should instead be counting the number of errors and exiting if
they're too numerous. This makes a number of broken ASF files playable.
https://bugzilla.gnome.org/show_bug.cgi?id=678543
Conflicts:
gst/asfdemux/asfpacket.c
gst/asfdemux/gstasfdemux.c
2012-06-27 10:21:15 +02:00
Wim Taymans
8fd4a75f47
fix interlace-mode
2012-06-26 17:15:43 +02:00
Wim Taymans
d90fd7a250
update for task api change
2012-06-20 10:39:37 +02:00
Wim Taymans
8172d8b683
update for tag event change
2012-06-06 13:03:04 +02:00
Sebastian Dröge
452b3a29fc
asfdemux: Use correct enum type
2012-05-13 15:26:48 +02:00
Vincent Penquerc'h
cd8a5fb939
asfdemux: implement pull mode seek snap flags when an index is present
...
Also ensure we get a proper EOS when seeking past the end of the
file, or (when the snap after flag is set) between the last keyframe
and the end of the file.
2012-05-10 10:16:14 +01:00
Tim-Philipp Müller
3064bf4a86
asfdemux: fix performance issue, especially with high-bitrate streams
...
Two things were suboptimal from a performance point of view:
a) consider a large media object such as a video keyframe, which
may be split up into multiple fragments. We would assemble
the media object as follows:
buf = join (join (join (frag1, frag2), frag3), frag4)
which causes many unnecessary memcpy()s, and malloc/free,
which could easily add up to a multiple of the actual object
size. To avoid this, we allocate a buffer of the size needed
from the start and copy fragments into that directly.
b) for every fragment to join, we would create a sub-buffer
before joining it (which would discard the sub-buffer again),
leading to unnecessary miniobject create/free churn.
Conflicts:
gst/asfdemux/asfpacket.c
gst/asfdemux/asfpacket.h
2012-04-16 09:02:46 +02:00
Tim-Philipp Müller
65436c8715
asfdemux: avoid unnecessary stream lookup
...
We have already retrieved the stream for that stream number and
made sure it's not NULL, so no need to do it again here; neither
the number nor the streams changed since the last time.
2012-04-16 08:54:31 +02:00
Tim-Philipp Müller
08d20e4da8
Use new gst_element_class_set_static_metadata()
2012-04-10 00:47:44 +01:00
Sebastian Dröge
29a893b494
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 17:40:12 +02:00
Sebastian Dröge
9e5a55a70f
gst: Update versioning
2012-04-04 14:38:53 +02:00
Wim Taymans
ede01ed7ac
update for buffer api change
2012-03-30 18:15:39 +02:00
Wim Taymans
ffa672bd34
update for buffer changes
2012-03-28 12:53:13 +02:00
Wim Taymans
84c98370e5
update for new memory api
2012-02-22 02:07:49 +01:00
Wim Taymans
f731208bcd
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 16:38:09 +01:00
Wim Taymans
56a07a14b5
port to new memory API
2012-01-25 11:57:07 +01:00
Wim Taymans
a95015dcfd
port to new gthread API
2012-01-19 11:34:41 +01:00
Mark Nauwelaerts
712188f26b
asfdemux: set caps on src pad before adding it
2012-01-13 15:59:06 +01:00
Mark Nauwelaerts
96030c3b09
asfdemux: perform writable buffer map to copy into it
2012-01-13 15:59:05 +01:00
Mark Nauwelaerts
0bc76c0d03
asfpacket: fix 0.11 ported payload extraction
...
... to cater for not necessarily offset == size - cur_pos,
as size may have been adjusted due to padding.
Fixes #667567 .
2012-01-13 15:59:01 +01:00
Tim-Philipp Müller
86313742d4
GST_TYPE_DATE -> G_TYPE_DATE
2012-01-13 00:05:50 +00:00
Sebastian Dröge
31063f0098
Merge branch 'master' into 0.11
...
Conflicts:
ext/a52dec/gsta52dec.c
ext/a52dec/gsta52dec.h
ext/lame/gstlame.c
ext/lame/gstlame.h
ext/lame/gstlamemp3enc.c
ext/mad/gstmad.c
ext/mad/gstmad.h
gst/mpegaudioparse/gstmpegaudioparse.c
gst/mpegstream/gstdvddemux.c
gst/realmedia/rdtdepay.c
po/es.po
po/lv.po
po/sr.po
2012-01-10 15:17:11 +01:00
Sebastian Dröge
58787102e9
asfdemux: Only change writable caps and make sure to set updated caps on the srcpad
2012-01-09 15:46:10 +01:00
Sebastian Dröge
e3f1b21660
asfdemux: Update for libgstriff API changes
...
Still needs to handle audio channel reordering.
2012-01-05 10:37:04 +01:00
Wim Taymans
f9d64ff495
GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2012-01-03 15:27:42 +01:00
Tim-Philipp Müller
da9f20eceb
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 can't change most of
these in 0.10 because they're part of our API and ABI.
Suppress deprecation warnings in selected files, mostly for
g_static_rec_mutex_*. StaticRecMutex is part of our API/ABI,
not much we can do here in 0.10.
2011-12-12 11:33:31 +00:00
Edward Hervey
fb335d6fc1
rtpasfdepay: Initialize GstRTPBuffer before usage
2011-12-05 18:43:49 +01:00
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
Matej Knopp
4b57b9288b
Fix print format compiler warnings on OS X / 64bit
...
https://bugzilla.gnome.org/show_bug.cgi?id=662617
2011-11-23 23:23:29 +00:00
Wim Taymans
03bc286c64
update for activation changes
2011-11-21 13:36:10 +01:00
Wim Taymans
8eca58a50e
update for new scheduling query
2011-11-18 18:00:28 +01:00
Wim Taymans
df3e30ed7e
add parent to activate functions
2011-11-18 13:59:29 +01:00
Wim Taymans
2679b9432a
add parent to pad functions
2011-11-17 15:25:58 +01:00
Wim Taymans
ee240c1ac0
add parent to query function
2011-11-16 17:28:56 +01:00
Wim Taymans
d338e41a85
_query_peer_*() -> _peer_query_*()
2011-11-15 17:55:36 +01:00
Wim Taymans
115e7cbd7f
update for base class rename
2011-11-11 12:33:51 +01:00
Wim Taymans
ea1537a4a8
update for base class rename
2011-11-11 12:25:25 +01:00
Wim Taymans
6a7345c98d
remove query types
2011-11-09 11:58:03 +01:00
Wim Taymans
85c1707fcf
more template fixes
2011-11-04 16:42:31 +01:00
Wim Taymans
e59ba7ca05
tags: update for tag API removal
2011-11-02 12:09:45 +01:00
Wim Taymans
c944e225c8
structure: fix for api update
2011-11-02 09:09:26 +01:00
Tim-Philipp Müller
d919b7b0f4
Merge remote-tracking branch 'origin/master' into 0.11
2011-10-31 14:34:57 +00:00
Tim-Philipp Müller
1905e95cea
ext, gst: update for taglist API changes
2011-10-30 11:51:58 +00:00
Edward Hervey
daecb74456
asfdemux: Don't leak pending payload buffers
...
Fixes #662964
2011-10-29 11:57:40 +02:00
Tim-Philipp Müller
211fd04773
asfdepay: fix compiler warnings after gst_caps_new_simple() change
2011-10-28 09:18:04 +01:00
Edward Hervey
82a8cc6807
asfdemux: Don't unmap a buffer that doesn't exist
2011-10-11 18:03:01 +02:00
Wim Taymans
854f4d846b
Merge branch 'master' into 0.11
...
Conflicts:
ext/mad/gstmad.c
2011-09-26 19:07:23 +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
Wim Taymans
d4f1303f57
asf: don't use fourcc
2011-08-25 13:04:01 +02:00
Wim Taymans
8ab84f0f8a
Merge branch 'master' into 0.11
...
Conflicts:
common
gst/asfdemux/gstrtpasfdepay.c
2011-08-03 18:58:09 +02:00
Edward Hervey
0a593a1e98
asfdemux: Fix for changes in GstQuery API
2011-08-02 12:40:22 +02:00
Edward Hervey
8281683027
asfdemux: Fix print statement
2011-08-02 12:40:01 +02:00
Thiago Santos
6649f6cfa0
rtspwms: Porting to 0.11
2011-06-20 00:36:59 -03:00
Thiago Santos
77106101fa
rtpasfdepay: Port to 0.11
2011-06-20 00:36:59 -03:00
Thiago Santos
2dc2be5e7b
asfdemux: Porting to 0.11
2011-06-20 00:36:59 -03: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
Wim Taymans
13c252b2a8
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
2011-06-02 18:46:11 +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
Wim Taymans
98729bc82c
Merge branch 'master' into 0.11
...
Conflicts:
android/amrnb.mk
android/amrwbdec.mk
android/asf.mk
android/mpegaudioparse.mk
configure.ac
2011-04-19 19:23:56 +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
Wim Taymans
62efb84c19
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
2011-02-26 15:02:58 +01: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