Commit graph

388 commits

Author SHA1 Message Date
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
HyeJin Choi
1e74f611ee asfdemux: mo_size check bug fix. mo_size is not mandatory field.
So, don't need to check previous payload's mo_size and current
payload's mo_size when merging it.

https://bugzilla.gnome.org/show_bug.cgi?id=710609
2013-10-29 12:05:56 -03: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
Thiago Santos
6a5c767ce5 asfdemux: remove unused variable 2013-09-10 19:51:05 -03: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
Sebastian Dröge
ef182de45f gst: Add better support for static plugins 2013-04-15 15:56:02 +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
Scott Fan
bbe0cb0440 Makefile.am: Fix typos for generating the Android.mk files
Change libgstasfdemux to libgstasf, and change libgstrealmedia to libgstrmdemux.

The typos led to generate the incorrect Android.mk files for the asfdemux
and realmedia plugin.

https://bugzilla.gnome.org/show_bug.cgi?id=686748
2012-10-24 13:37:26 +01:00
Mark Nauwelaerts
f1a5ca10f4 gst: only activate in pull mode if upstream is seekable 2012-09-11 17:45:39 +02:00
Tim-Philipp Müller
7f7b4522fa gst: silence some compiler warnings with -DG_DISABLE_ASSERT 2012-08-08 15:23:27 +01:00
Sreerenj Balachandran
f7a4318b54 asfdemux: avoid some more invalid timestamp arithmetic
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681291
2012-08-06 16:21: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
Wim Taymans
a04d61ee6d asfdepay: fix padding correction
Fix padding correction. gst_buffer_copy_into() appends the memory to the already
existing memory in the target buffer..

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680536
2012-07-25 09:37:08 +02:00
Mark Nauwelaerts
95a5992d2b asfdemux: make sure to avoid arithmetic with _NONE timestamp 2012-07-20 16:19:04 +02:00
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