Commit graph

290 commits

Author SHA1 Message Date
Cliff Han
92f5f3f8f3 asfdemux: fix a seek failure due to out-of-range in push mode
A seek in push mode failed for big offsets which are beyond
the range of guint32.

https://bugzilla.gnome.org/show_bug.cgi?id=748162
2015-04-20 09:13:24 +01:00
Mark Nauwelaerts
53642b1073 asfdemux: resurrect some flow return handling
https://bugzilla.gnome.org/show_bug.cgi?id=744572
2015-03-28 18:22:21 +01:00
Sebastian Dröge
7dc03df3de Improve and fix LATENCY query handling
This now follows the design docs everywhere, especially the maximum latency
handling.

https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 13:56:48 +01:00
Tim-Philipp Müller
3afe2b7bd1 asfdemux: fix comment 2014-11-05 23:34:56 +00:00
Edward Hervey
ec19c9b6e4 asfdemux: Send duration query upstream first
An upstream element (like mms or some dlna source) might be able to
answer the query. Try that first, else fallback to standard logic
2014-11-05 13:45:29 +01:00
Guillaume Desmottes
07f2043e58 asfdemux: first try to delegate TIME seek events upstream
We should give a chance to upstream to handle TIME seek events before trying
to handle it in asfdemux.

Fix a bug where fast backward seeks where discarded right away because they
were not supported by asfdemux.

https://bugzilla.gnome.org/show_bug.cgi?id=734471
2014-09-16 12:13:41 -03:00
Guillaume Desmottes
8dff7bb38d asfdemux: add ASF_OBJ_METADATA_LIBRARY_OBJECT
We can safely ignore those but best to claim to understand this object type so
we don't raise a warning.

https://bugzilla.gnome.org/show_bug.cgi?id=736060
2014-09-05 10:49:16 +03:00
Thiago Santos
2863d9ae00 asfdemux: if video is h264, check the codec_data for bytestream data
For bytestream we don't want to expose it as codec_data but rather as
streamheader as it is not out-of-band data but data that should be
prepended to the beginning of the stream before the other buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=735070
2014-08-27 10:54:18 -03:00
Thiago Santos
30b8d8a4be asfdemux: simplify log statement
Use the GST_PTR_FORMAT to print the buffer
2014-08-08 16:48:37 -03:00
Thiago Santos
df4a98e510 asfdemux: use GstFlowCombiner
Removes flow return combination code to use the newly added GstFlowCombiner

https://bugzilla.gnome.org/show_bug.cgi?id=709224
2014-06-03 10:04:01 -03:00
Matej Knopp
eb65696251 asfdemux: Handle initial 0 timestamp that should have been -1
https://bugzilla.gnome.org/show_bug.cgi?id=719660
2014-05-26 09:56:11 +02:00
Edward Hervey
fffcbfc127 asfdemux: Fix payloads check
Don't iterate stream->payloads if ... it doesn't exist

CID #1139846
2014-04-03 15:06:22 +02:00
Sebastian Dröge
abb56c3803 asfdemux: Remove unused function 2014-02-09 23:41:36 +01:00
Tim-Philipp Müller
12509f4a80 asfdemux: only add "format" field with fourcc to WMV caps
Doesn't make sense for e.g. H264 or MJPEG.
2014-01-03 16:20:11 +00:00
Thiago Santos
3de558d96b asfdemux: Keep audio error checking fields only for audio
Video shouldn't need to be descrambled, this can cause frames data
to be corrupted

https://bugzilla.gnome.org/show_bug.cgi?id=684942
2013-10-22 16:16:43 -03:00
Thiago Santos
94a183a071 asfdemux: really copy the buffer data
Pass the copy-memory flag to copy the memory for the output buffer,
otherwise we end with 0-sized buffers

https://bugzilla.gnome.org/show_bug.cgi?id=684942
2013-10-22 15:24:04 -03:00
Thiago Santos
556055e2f1 asfdemux: Only use segment.start as seek_time if it is relative
Relying on the gst_segment_do_seek results for getting the
seeking time should not be used if seek type is SET because the
do_seek function makes the 'cur` position of the seek normalized
on the segment range. This means that seeking beyond the end of the
file might not result in instant EOS as it will end up seeking to
the final ts of the file.

In asf seeking to the final timestamp can lead to seeking to the last
keyframe, meaning a few seconds of video will still be played, which should
not be the desired behavior when seeking beyong file limits.
2013-09-24 14:43:34 -07:00
Thiago Santos
abe5ca6d96 asfdemux: Parse last simple index entry
The entry size is fixed at 6, fix typo to finish parsing the index
correctly until the last sample
2013-09-24 14:43:34 -07:00
Matej Knopp
c5312c7105 asfdemux: fix playback regression in push mode 2013-09-18 18:20:00 +02:00
Matej Knopp
fad302b573 asfdemux: fix build on C89 compilers 2013-08-08 11:56:19 +02:00
Matej Knopp
f27c832011 asfdemux: fix seeking in push mode 2013-08-08 11:56:19 +02:00
Sebastian Dröge
4b0f044151 gst: Don't swap start/stop for negative rates in the SEGMENT query 2013-07-29 12:13:17 +02:00
Sebastian Dröge
1ce9d7b2d1 asfdemux: Implement SEGMENT query 2013-07-29 10:56:06 +02:00
Matej Knopp
1803b3c185 asfdemux: Add support for dvr-ms
https://bugzilla.gnome.org/show_bug.cgi?id=705026
2013-07-29 10:07:55 +02:00
Thiago Santos
c2eb7118be asfdemux: fix seqnum handling for seeks
Use the same seqnum as the seek for flushes/segments that are
caused by the seek. Also do the same for segment events

Fixes #676242
2013-07-25 15:27:22 -03:00
Sebastian Dröge
bde41413f6 asfdemux: Add support for group-id in the stream-start event 2013-07-22 16:02:46 +02:00
David Schleef
f8bbe696f5 Use %03u instead of %u in gst_pad_create_stream_id_printf() 2013-03-25 18:58:36 -07:00
Tim-Philipp Müller
9c690b2018 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 20:40:37 +00:00
Mark Nauwelaerts
f1a5ca10f4 gst: only activate in pull mode if upstream is seekable 2012-09-11 17:45:39 +02:00
Sebastian Dröge
87d9927126 gst: Add stream-id to stream-start events 2012-08-06 14:04:05 +02:00
Tim-Philipp Müller
c7fd90c842 gst_tag_list_free -> gst_tag_list_unref 2012-08-04 16:13:36 +01:00
Sebastian Dröge
32857a7621 tag: Update for taglist/tag event API changes 2012-07-28 00:35:59 +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
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
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
08d20e4da8 Use new gst_element_class_set_static_metadata() 2012-04-10 00:47:44 +01:00
Wim Taymans
ffa672bd34 update for buffer changes 2012-03-28 12:53:13 +02: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