Commit graph

1044 commits

Author SHA1 Message Date
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
eb5dfd5436 real: Implement SEGMENT query 2013-07-29 10:57:38 +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
Edward Hervey
8f6e8ef56b rtspreal: Ensure output value has an assigned value
In the case where this macro was used, that dest was != NULL but that
the strncmp failed, we would end up with dest_len being undefined.
2013-07-26 16:47:48 +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
a8a32d1317 realmedia: Add support for group-id in the stream-start event 2013-07-22 16:02:46 +02:00
Sebastian Dröge
bde41413f6 asfdemux: Add support for group-id in the stream-start event 2013-07-22 16:02:46 +02:00
Edward Hervey
3c6a9d3e37 rmdemux: Mark demuxer as "running" in push-mode
Allows queries (and other code) to be answered when working in push-mode.

Running would only be set to TRUE accordingly when working in pull-mode
once it had read header/index.

Fixes #680185
2013-07-18 17:15:25 +02:00
Wim Taymans
a5fed6c261 rdt: forward sticky events 2013-06-25 14:20:37 +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
Gautier Portet
cf3e901996 xingmux: Properly calculate the number of frames
First, the xing header frame is never added to the count,
we have to increment the count.
Secondly, there is a rounding error when calculating the
frame duration, as spf*GST_SECOND/rate is not an integer
(26122448.9) an it must be 26122449.
2012-11-09 11:33:40 +01:00
Michael Smith
e4a82bdbb1 dvdlpcmdec: Fix parsing of headers to set correct width to allow decode. 2012-11-05 13:20:31 -08: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
Andreas Frisch
619d4db672 dvdsubdec: allocate correct amount of memory for bitmap
https://bugzilla.gnome.org/show_bug.cgi?id=687192
2012-10-30 13:28:09 +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
5c0e0dd598 dvdsubparse: send src caps when receiving sink caps 2012-10-18 22:18:28 +02:00
Tim-Philipp Müller
c6b03d0c3b Purge mention of liboil and update REQUIREMENTS
https://bugzilla.gnome.org/show_bug.cgi?id=673285
2012-09-29 12:13:17 +01:00
Wim Taymans
c3b5d7e914 rmdemux: use DTS and PTS
Video uses DTS as timestamps. Set the DTS on the buffers and leave the PTS
undefined to make the decoder do the right thing. We can then remove the code
that tries to guess the PTS from the DTS.
2012-09-13 13:49:33 +02:00
Mark Nauwelaerts
f1a5ca10f4 gst: only activate in pull mode if upstream is seekable 2012-09-11 17:45:39 +02:00
Wim Taymans
414986e17b rademux: tags can be NULL 2012-09-11 11:28:06 +02:00
Mark Nauwelaerts
b456a16344 xingmux: remove defunct commented code 2012-09-11 10:46:52 +02:00
Mark Nauwelaerts
616e9fab0c dvbsubdec: handle and send GAP event
... in stead of update newsegment event.
2012-09-11 10:40:01 +02:00
Mark Nauwelaerts
7c36e720a9 dvbsubdec: adjust disabled code comment style 2012-09-11 10:34:40 +02:00
Tim-Philipp Müller
f79c6e4183 video/x-dvd-subpicture -> subpicture/x-dvd 2012-08-20 23:32:32 +01:00
Sebastian Dröge
3121d53fd3 dvdsubdec: Set alignment at the correct place of GstAllocationParams 2012-08-08 17:41:53 +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
1f1bee783f rdt: add on-npt-stop signal
rtspsrc will look for it.
2012-07-25 13:05:17 +02:00
Wim Taymans
b9485b2305 rdt: set caps after activating the pad 2012-07-25 12:48:38 +02:00
Wim Taymans
445af55d9f rdt: reset map info 2012-07-25 12:48:06 +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
882e408340 rmdemux: give stream tags a different event name so they don't overwrite global tags
There can only be one taglist per name for sticky tag events.
Needs to be fixed more properly, see
https://bugzilla.gnome.org/show_bug.cgi?id=677619
2012-07-18 17:21:27 +01:00
Tim-Philipp Müller
b78454c868 rademux: set/send caps on pad after activating it 2012-07-18 16:49:47 +01:00
Tim-Philipp Müller
1c07373c2b rmdemux: set/send caps after activating the source pads
Makes sure the caps event isn't dropped immediately.
2012-07-18 16:46:46 +01: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
Tim-Philipp Müller
feb316e604 synaesthesia: remove experimental GPL-ed synaesthesia plugin
It never made it out of experimental, and there's a new
synaescope element in gst-plugins-bad that's hopefully
sufficiently similar.

https://bugzilla.gnome.org/show_bug.cgi?id=356882
2012-06-16 18:29:54 +01:00
Tim-Philipp Müller
0278ba7e7c mpegstream: remove leftover hidden .gitignore file 2012-06-16 18:13:47 +01:00
Sebastian Dröge
2ec36a9c0a elements: Use gst_pad_set_caps() instead of manual event fiddling 2012-06-08 15:55:42 +02:00
Wim Taymans
8172d8b683 update for tag event change 2012-06-06 13:03:04 +02:00
Tim-Philipp Müller
a877021ab1 realmedia: don't use GstStructure API on tag lists 2012-05-26 23:41:02 +01: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
Mark Nauwelaerts
aeaa143e4e synaesthesia: fixup for bufferpool api changes
... as well as some caps ref handling.
2012-03-18 18:56:51 +01:00
Wim Taymans
4aa8c11d85 don't pass random pointers to pull_range 2012-03-16 21:48:02 +01:00
Wim Taymans
7cd283ebc6 update for memory api changes 2012-03-15 13:38:16 +01:00
Wim Taymans
84c98370e5 update for new memory api 2012-02-22 02:07:49 +01:00
Mark Nauwelaerts
689b94b8a9 synaesthesia: port to 0.11 2012-02-17 17:53:34 +01:00
Mark Nauwelaerts
0d66ce0062 xingmux: port to 0.11 2012-02-17 17:53:28 +01:00
Wim Taymans
f731208bcd GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:38:09 +01:00
Wim Taymans
2f49fd9f39 update for HEADER flag 2012-01-30 17:17:31 +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
Mark Nauwelaerts
fb6e749c87 dvdsub: add some CFLAGS and LIBS in Makefile.am
... since adapter is still used.
2012-01-10 11:41:52 +01:00
Sebastian Dröge
74e717038f rmdemux: Don't use buffer after unreffing 2012-01-09 16:00:18 +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
Wim Taymans
a2dee80838 dvdlpcmdec: fix for multichannel 2012-01-05 12:17:20 +01:00
Sebastian Dröge
7fea0ed2f5 dvdlpcmdec: Port to the new raw audio caps 2012-01-05 10:37:04 +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
Mark Nauwelaerts
cacc663b35 dvddemux: tweak subtitle stream setup based on dvd language codes event
... to allow for non-continuous subtitle stream numbers.
The missing stream numbers tend to come up as subtitle streams anyway
(albeit not with an identified language tag).
2011-12-21 22:07:27 +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
Tim-Philipp Müller
15cd0c5e36 rdtdepay: make buffer metadata writable before setting caps on it
Fixes issue when the header buffer is being pushed, which was taken
from the caps and is therefore not writable.
2011-12-09 15:25:21 +00:00
Edward Hervey
fb335d6fc1 rtpasfdepay: Initialize GstRTPBuffer before usage 2011-12-05 18:43:49 +01:00
Wim Taymans
436cc30a94 update for clock provider API change 2011-11-28 17:52:52 +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