Commit graph

1072 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
573ce40fad rmdemux: resurrect some flow return handling
https://bugzilla.gnome.org/show_bug.cgi?id=744572
2015-03-28 18:22:21 +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
Tim-Philipp Müller
8f1fbf8d6c dvbsub: fix indentation 2015-03-10 09:33:15 +00:00
Tim-Philipp Müller
0a467495c2 Fix double semicolons 2015-03-10 09:32:51 +00: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
Vincent Penquerc'h
86562f56e2 dvdlpcmdec: set channel positions using the appropriate API
https://bugzilla.gnome.org/show_bug.cgi?id=731038
2014-11-12 14:23:30 +00: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
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
Sebastian Rasmussen
e593ae2db6 rademux: Print invalid fourcc in error message in hex
Previously this was printed as characters which caused later processing
of the error message to sometimes warn about non-UTF-8 characters.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732716
2014-07-04 08:41:13 +01:00
Thiago Santos
a71a239572 rmdemux: 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
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
Sebastian Dröge
9953165336 rtspreal: Fix some memory leaks in an error path
CID 1212165.
2014-05-16 12:21:58 +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
Vincent Penquerc'h
c261beac63 dvdsubdec: fix spurious rejection of 0 time offset commands
Coverity 206168
2014-04-10 17:29:30 +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
Stefan Sauer
c10d042a0d xingmux: add muxer category and make element plugable
This is required to make encodebin consider the element. Yet it is not enough to
have it plugged it has a lower priority than most mp3encoders and no different
caps.
2014-02-26 11:31:49 +01: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
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