Commit graph

1069 commits

Author SHA1 Message Date
Edward Hervey
8f05e8f449 asfdemux: Add sanity checks when reading asf_stream_video_format
It should report a size of at least 40 bytes
Also check for the size of the remaining data (i.e. codec_data)

https://bugzilla.gnome.org/show_bug.cgi?id=775070
2016-11-25 10:07:21 +01:00
Edward Hervey
97294eb8bb asfdemux: Add check for invalid/corrupt asf object
An asf object can't realistically be bigger than 2**32 bytes.

If it reports a size bigger than that, consider it corrupt and properly
propagate the error back.

https://bugzilla.gnome.org/show_bug.cgi?id=775070
2016-11-25 09:46:12 +01:00
Edward Hervey
48a493070a asfdemux: Handle EOS in push-mode on corrupted files
It is possible no streams were activated when receiving EOS, if so
handled it as if we hadn't seen the header

https://bugzilla.gnome.org/show_bug.cgi?id=774846
2016-11-22 18:21:46 +01:00
Edward Hervey
e7ff86665a asfdemux: FILE headers are mandatory in the header
As per the specification, also avoids ending up trying to play a
file with plenty of un-initialized values.

https://bugzilla.gnome.org/show_bug.cgi?id=774846
2016-11-22 18:21:46 +01:00
Edward Hervey
cc04255e94 asfdemux: Handle incomplete header in pull mode
pulling headers is meant to complete as a whole. If we don't have
enough data, it's an error.

Avoids pipeline hangs on corrupted files

https://bugzilla.gnome.org/show_bug.cgi?id=774846
2016-11-22 18:21:46 +01:00
Edward Hervey
45c7826d76 asfdemux: Handle issues with "empty" files
In some corrupted files, we could end up with no actual streams
being exposed.

In those cases, make sure we properly propagate the failure all
the way to the loop function. This avoids ending up in cases where
we are neither EOS'd nor ERROR'd out from a pipeline point of view.

https://bugzilla.gnome.org/show_bug.cgi?id=774846
2016-11-22 18:21:46 +01:00
Thibault Saunier
3e27368ce3 Use the new API to post flow ERROR messages on the bus
https://bugzilla.gnome.org/show_bug.cgi?id=770158
2016-08-26 19:23:28 -03:00
Thibault Saunier
40dbcd1b3e meson: Link asfdemux against the gstsdp library 2016-08-24 09:45:05 -03:00
Nirbheek Chauhan
c8260a1545 Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:29:37 +01:00
Nirbheek Chauhan
5ae5b2d3c7 plugins: Use <stdint.h> instead of _stdint.h
_stdint.h is generated by Autotools and we don't really need it. All
supported platforms now ship with stdint.h. The only stickler was MSVC,
and since Visual Studio 2015 it also ships stdint.h now.
2016-08-19 13:03:29 +01:00
Tim-Philipp Müller
8149ee2e46 dvdlpcmdec: add libgstbase CFLAGS as well
For consistency.

https://bugzilla.gnome.org/show_bug.cgi?id=769610
2016-08-08 09:58:57 +01:00
xlazom00
eda96ad1c1 dvdlpcmdec: link libgstbase-1.0
https://bugzilla.gnome.org/show_bug.cgi?id=769610
2016-08-08 09:55:31 +01:00
Carlos Rafael Giani
975f147abe asfdemux: Add byte rate based bitrate tag in case there are no audio props
https://bugzilla.gnome.org/show_bug.cgi?id=769418
2016-08-02 14:41:31 +03:00
Michael Olbrich
9f51f72b37 dvdlpcmdec: add support for another format
The format specification can be found here:
http://www.dvdforum.org/images/Guideline1394V10R0_20020911.pdf

Note: This format is also used for Wifi-Display.

https://bugzilla.gnome.org/show_bug.cgi?id=765807
2016-07-25 13:37:32 +03:00
Michael Olbrich
35dc8d0f68 dvdlpcmdec: rewrite to use GstAudioDecoder
https://bugzilla.gnome.org/show_bug.cgi?id=765807
2016-07-25 13:37:24 +03:00
Vootele Vesterblom
6ff1c761e4 asfdemux: fix seeking back after EOS has been reached in push mode
Fix seeking when demuxer is in INDEX state. This happens when we
reached the end of the stream. It should still be possible to do
a flushing seek and seek back to any other position though. Instead
the demuxer would just go straight to EOS again instead of going
back to processing packets again from the new position.

https://bugzilla.gnome.org/show_bug.cgi?id=749066
2016-05-27 17:18:32 +01:00
Guillaume Desmottes
f52343fcf8 rdtmanager: fix clock leak
The clock returned by gst_system_clock_obtain() was never unreffed.

https://bugzilla.gnome.org/show_bug.cgi?id=766565
2016-05-20 12:01:19 +01:00
Vineeth TM
eacdaa56b3 ugly: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763082
2016-03-24 14:38:13 +02:00
Edward Hervey
dba14178ce asfdemux: Don't modify segment values on accurate seeks
When dealing with accurate seeks, we want to return exactly the segment
that was requested by the seek event, and not adjust the values.

https://bugzilla.gnome.org/show_bug.cgi?id=755469
2016-03-08 12:27:36 +01:00
Tim-Philipp Müller
62f5601723 asfdemux: fix adding bitrate to stream tags
https://bugzilla.gnome.org/show_bug.cgi?id=699586
2016-02-22 22:08:12 +00:00
Tim-Philipp Müller
f1bb44460d win32: remove outdated build cruft
This hasn't been touched for generations, doesn't work,
and is just causing confusion. We also don't want to
maintain these files manually.
2016-02-21 10:11:12 +00:00
Thiago Santos
deb1b257f4 dvdsubdec: use query caps instead of accept-caps
accept-caps does only a shallow check and a full downstream
caps query is needed to check if ARGB is possible
2016-01-08 22:00:12 -03:00
Ravi Kiran K N
9ee60482b2 asfdemux: Support reverse playback
Support reverse playback for ASF format.
Parse packets and queue the payloads, then push
the payload buffer to decoder in reverse order.
Video buffers are pushed from KeyFrame to next
Keyframe.

https://bugzilla.gnome.org/show_bug.cgi?id=757341
2016-01-04 16:13:03 -05:00
Tim-Philipp Müller
d57b097198 dvdlpcmdec: fix invalid read beyond channel position array
We would always copy sizeof(sorted_position) bytes, which is
for 8 channels, but if we have less than 8 channels the
position array we copy from will only have allocated space
for channel channels, so we would read beyond the input
array in some cases.
2015-09-26 09:24:25 +01:00
HoonHee Lee
d7f78391b4 dvdlpcmdec: factor out common code to set output format into new function
When caps event is recieved and header is changed, reordering channel
and setting the default output format for audio are processed. These 2 of
code are same. Thus, It is better to make a new function for these common
code in terms of removing duplicated code, maintenance and expansion.

https://bugzilla.gnome.org/show_bug.cgi?id=753920
2015-09-26 09:18:05 +01:00
Sebastian Dröge
738e48ef49 asfdemux: Don't push any data on pads after the segment.stop
https://bugzilla.gnome.org/show_bug.cgi?id=755469
2015-09-25 23:53:47 +02:00
Sebastian Dröge
155c8fc6a6 asfdemux: Only change segment start to a keyframe for KEYUNIT seeks
Not for accurate seeks, which should accurately start at the requested
position.

https://bugzilla.gnome.org/show_bug.cgi?id=755469
2015-09-25 23:53:47 +02:00
Sebastian Dröge
f501188191 asfdemux: Update segment.position when pushing buffers
Without this, non-flushing seeks are not going to work well.

https://bugzilla.gnome.org/show_bug.cgi?id=755469
2015-09-25 23:53:47 +02:00
Sebastian Dröge
c526153ec9 asfdemux: Only push EOS event if we're not doing a segment seek
https://bugzilla.gnome.org/show_bug.cgi?id=755469
2015-09-25 23:53:47 +02:00
Sebastian Dröge
42d7aec412 asfdemux: If pushing buffers returned EOS, go into the EOS and not failure code path
We don't want to unconditionally send an EOS event downstream, but might want
to send a SEGMENT_DONE message/event instead if a segment seek was done
before.

https://bugzilla.gnome.org/show_bug.cgi?id=755469
2015-09-25 23:53:47 +02:00
Tim-Philipp Müller
b41376aba2 asfdemux: fix file mode of some source files 2015-08-28 19:18:32 +01:00
Vineeth TM
ecb6099b44 rmdemux: fix assertion error when freeing old tags.
Check if old_tags is present before calling gst_tag_list_unref

https://bugzilla.gnome.org/show_bug.cgi?id=753301
2015-08-06 01:59:56 -03:00
Vineeth TM
5e7d0a8285 asfdemux: fix assertion error when codec_data is not present in structure
When discovering a particular asf file, caps structure doesn't have
codec_data, and this was not being checked before using the same,
resulting in assertion error

https://bugzilla.gnome.org/show_bug.cgi?id=752803
2015-07-30 13:40:09 +01:00
Luis de Bethencourt
171a1df6eb asfdemux: remove unread value
Init value of idx2 is never used. First usage sets it to idx + 1. Removing
initial value.
2015-07-29 15:56:42 +01:00
Olivier Crête
f2e0276ce4 asfdemux: Don't post error on flushing while reading headers 2015-07-25 14:38:40 -04:00
Tim-Philipp Müller
c12e5d1ad4 rmdemux: mark tag list as global scope 2015-07-21 11:13:27 +01:00
Tim-Philipp Müller
2be1874927 rmdemux: fix taglist leak
merge doesn't take ownership, so must unref the
old tags if we do merge.
2015-07-21 11:10:04 +01:00
Vineeth TM
868a885040 rmdemux: fix wrong unref when there are no tags
Tags should be appended to pending tags and unref'ed only if tags
are present. Else there is no need to append.

https://bugzilla.gnome.org/show_bug.cgi?id=752404
2015-07-21 10:52:54 +01:00
Vineeth T M
42dbce6d57 rmdemux: fix memory leaks during error cases
while adding stream, during error cases, only stream is
being freed. Adapter, pad, tags, subpackets, index are not being
freed resulting in memory leaks

https://bugzilla.gnome.org/show_bug.cgi?id=752404
2015-07-21 10:47:39 +01:00
Vineeth T M
c222f1942b rmdemux: fix tag memory leak
tags is not being freed after being merged to the
pending_tags.

https://bugzilla.gnome.org/show_bug.cgi?id=752404
2015-07-16 08:59:20 +01:00
Jan Schmidt
c72abcf782 asfdemux: Use gst_video_multiview_guess_half_aspect() function
Use gst_video_multiview_guess_half_aspect() to guess if frame-packed
stereoscopic video is full-frame per view or not.
2015-06-19 02:04:38 +10:00
Jan Schmidt
6d0ee6c782 asfdemux: Add support for stereoscopic video metadata.
Add parsing of stereoscopic metadata, and place into the caps to
the decoder.

Fix parsing of Advanced Mutual Exclustion objects.

https://bugzilla.gnome.org/show_bug.cgi?id=711190

Based on a patch by HyeJin Choi <meeshel78@hotmail.com>
2015-06-11 11:01:38 +10:00
Chris Clayton
0f80355ba5 xingmux: fix compiler warnings
https://bugzilla.gnome.org/show_bug.cgi?id=750596
2015-06-10 15:33:21 +01:00
Tim-Philipp Müller
f034f77b73 docs: update example pipelines in element docs
Mostly gst-launch -> gst-launch-1.0, but also
use autoaudiosink/autovideosink in more places
and update pipelines a little or flesh out
descriptions.
2015-05-10 11:34:33 +01:00
Luis de Bethencourt
9a18b9e4ce Rename property enums from ARG_ to PROP_
Property enum items should be nameed PROP_ for consistency and readability.
2015-04-27 10:57:12 +01:00
Tim-Philipp Müller
19fd6f240d Remove obsolete Android build cruft
This is not needed any longer.
2015-04-26 17:56:31 +01:00
Luis de Bethencourt
f209829d81 realmedia: remove unused enum item PROP_LAST 2015-04-24 17:05:20 +01:00
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