Commit graph

446 commits

Author SHA1 Message Date
Tim-Philipp Müller
ccb4ae449a asf: fix up file mode 2014-11-02 17:32:45 +00: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
Tim-Philipp Müller
441e4f33b6 docs: remove outdated and pointless 'Last reviewed' lines from docs
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-27 00:29:16 +01: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
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
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