Tim-Philipp Müller
cc1a7e2c4d
Use g_memdup2() where available and add fallback for older GLib versions
...
- x264 encoder bitrate profile manager: alloc size is based
on existing allocation
- asfdemux: change length var to 64-bit and check for G_MAXUINT
- realmedia: opaque_data_len is read from 32 bits and then
only subtracted upon.
g_memdup() is deprecated since GLib 2.68 and we want to avoid
deprecation warnings with recent versions of GLib.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/83 >
2021-06-02 12:39:53 +00:00
Doug Nazar
4d4b82ffdc
realmedia: Drop duplicate seek events.
...
Also use seek seqnum for flush & segment events/messages.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/81 >
2021-04-20 19:32:29 -04:00
Doug Nazar
833280b0f9
asfdemux: Drop duplicate seek events.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/81 >
2021-04-20 19:32:07 -04:00
Stéphane Cerveau
3ff44eabc3
xingmux: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/79 >
2021-03-29 19:13:36 +00:00
Stéphane Cerveau
c3525ca78c
realmedia: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/79 >
2021-03-29 19:13:36 +00:00
Stéphane Cerveau
f2a9ea9d7b
dvdsub: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/79 >
2021-03-29 19:13:36 +00:00
Stéphane Cerveau
df2452e8ef
dvdlpcmdec: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/79 >
2021-03-29 19:13:36 +00:00
Stéphane Cerveau
1d7262baa3
asfdemux: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/79 >
2021-03-29 19:13:36 +00:00
Sebastian Dröge
3aba7d1e62
rmdemux: Make sure we have enough data available when parsing audio/video packets
...
Otherwise there will be out-of-bounds reads and potential crashes.
Thanks to Natalie Silvanovich for reporting.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues/37
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/74 >
2021-03-15 12:36:42 +00:00
Jan Schmidt
ea945eb9c6
rmdemux: Don't ignore the return value of gst_segment_do_seek()
...
If gst_segment_do_seek() fails, fail the seek.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/45 >
2020-07-27 07:26:37 +00:00
Jan Schmidt
ec9a1e8ef4
asfdemux: Don't ignore the return result of gst_segment_do_seek()
...
gst_segment_do_seek() can fail, and our seek should fail
accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/45 >
2020-07-27 07:26:37 +00:00
Derek Lesho
c9e7490f46
asfdemux: Only forward SEEK event when in push mode.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/48 >
2020-07-26 00:58:27 +01:00
Tim-Philipp Müller
112174bcea
asfdemux: extract WM/PartOfSet disc number and count metadata
...
Fixes #30
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/54 >
2020-06-02 12:26:41 +01:00
Tim-Philipp Müller
4f4b67bea4
asfdemux: sprinkle some INDENT-OFF
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/54 >
2020-06-02 12:26:41 +01:00
Derek Lesho
8fe8ed3dd2
asfdemux: Always re-initialize metadata and global_metadata
...
When transitioning from the PAUSED state, to the READY state, and back,
metadata and global_metadata are left uninitialized, unlike when the
demxuer transitions from NULL to READY, then to PAUSED. I have found
this to cause a segmentation fault when fields in these structures are
set.
2020-04-08 11:06:27 +03:00
Tim-Philipp Müller
3cd445a490
Remove autotools build system
2019-10-13 14:19:11 +01:00
Aaron Boxer
3f24460e37
documentation: fix some typos
2019-09-02 09:33:15 -04:00
Tim-Philipp Müller
f93aa34200
asfdemux: remove some unused cruft in internal headers
2019-05-25 14:19:54 +02:00
Thibault Saunier
21ac37c61a
docs: Port documentation to hotdoc
2019-05-13 17:00:00 -04:00
Thibault Saunier
2df9f6e5ce
docs: Port all docstring to gtk-doc markdown
2019-04-26 20:32:26 -04:00
Nirbheek Chauhan
c5cddfcec4
Add feature options for all plugins
...
The only automagic dependency left is C++ availability detection.
https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 19:34:01 +05:30
Edward Hervey
ff4cca75b2
asfdemux: Remove 0.10 code
...
This was used to "close" a segment. It's no longer needed anymore
in 1.x (it was essentially sending the same thing again)
2018-06-11 14:43:20 +02:00
Edward Hervey
fd59ea8c7d
asfdemux: Only send flush event on seeking flushes
...
And not on all the time
2018-05-22 06:52:58 +02:00
Jan Schmidt
c789277ec0
dvdsubdec: Take the highlight event from the structure.
...
Don't use GST_EVENT_TIMESTAMP to transfer any PTS
associated with a highlight event, instead store
it in the event structure directly, as
GstEvent::timestamp will disappear in GStreamer 2.0
https://bugzilla.gnome.org/show_bug.cgi?id=761477
2018-05-04 22:54:01 +10:00
Xavier Claessens
6b01999087
Meson: Generate pc file for all plugins in ugly
...
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:07:39 +01:00
Sebastian Dröge
0c9a8e9e3b
asfdemux: Set the stream-format field of H264 streams
...
If we have codec_data it will be AVC, otherwise assume byte-stream.
2018-04-16 20:14:16 +03:00
Edward Hervey
f86751d9f7
asfdemux: Fix prerolling files with "empty" streams
...
This is a regression that was introduced by
commit 1803b3c185
" asfdemux: Add support for dvr-ms"
The problem is that some files/streams might contain stream definition
but there is no actual packets for those streams.
This was used to "define" streams with different bitrates for example.
The first_ts calculation resulted in never ever finding a valid first_ts
since some streams were empty, and therefore never "activating" itself.
Instead of that we first check if we are prerolled. And if we are we
unconditionally get the "first_ts"
The preroll check has been adapted to check whether streams of
each defined type (i.e. audio/video/sub) has been prerolled. This solves
the problem of having different streams of a particular type where only
one stream actually has data.
2017-11-13 11:13:30 +01:00
Edward Hervey
2d9867b120
asfdemux: Store the stream type in streams
...
The field was present but never set :)
2017-11-13 11:09:31 +01:00
Satya Prakash Gupta
38b198255f
realmedia: fix leak in asmrules error code path
...
https://bugzilla.gnome.org/show_bug.cgi?id=787056
2017-08-31 19:27:02 +01:00
Satya Prakash Gupta
c3cf7ab5c4
realmedia: Fix Memory leak in error case
...
https://bugzilla.gnome.org/show_bug.cgi?id=787014
2017-08-30 17:20:41 +02:00
Vivia Nikolaidou
3b99cf6c54
dvdlpmdec: Fix overrun from coverity
...
CID #1414801
2017-07-11 14:23:27 +03:00
Vivia Nikolaidou
cd59f39c2c
dvdlpcmdec: Added support for Blu-Ray audio
...
https://bugzilla.gnome.org/show_bug.cgi?id=784552
2017-07-05 19:17:59 +03:00
Edward Hervey
ec24f4c9f2
asfdemux: More index handling
...
In the same vein as the previous commit, the end of the file might have been
cut and therefore contains bogus data.
If the object is too short, consider it as garbage and return a non-fatal
flow.
Regression introduced in 97294eb8bb
2017-06-27 11:49:21 +02:00
Edward Hervey
0bbdfa8ee9
asfdemux; Don't assume index is present at end of file
...
Some files have garbage at the end of the file, don't error out if we don't
find the index there.
Reverts back to previous behaviour (where corrupted/missing indexex were
not a fatal error).
Regression introduced in 97294eb8bb
2017-06-27 10:41:42 +02:00
Mark Nauwelaerts
3a25a3a948
asfdemux: adjust segment start to a keyframe ts only for a KEYUNIT seek
...
... which is how it has always been until changed coincidentally in commit
9ee60482b2
which then prompted commit
dba14178ce
to consider ACCURATE as well
to compensate for that in a lateral way
2017-06-24 18:14:59 +02:00
Thiago Santos
42f8e22f17
asfdemux: fix checking for header objects
...
The if 'and' condition was mixed up with the last parameter of the
function and would lead to wrong results
2017-06-06 21:48:19 -07:00
Nicolas Dufresne
d02e7d8029
Remove plugin specific static build option
...
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:07:56 -04:00
Nicolas Dufresne
c1e526a879
Rename plugin filenames to match plugin names
...
libgstrmdemux.so becomes libgstrealmedia.so
https://bugzilla.gnome.org/show_bug.cgi?id=779344
2017-03-08 20:04:25 -05:00
Sebastian Dröge
66659f07f5
asfdemux: Fix compilation with gcc 7
...
gstasfdemux.c: In function 'gst_asf_demux_parse_stream_object':
gstasfdemux.c:3001:39: error: '<<' in boolean context, did you mean '<' ? [-Werror=int-in-bool-context]
is_encrypted = ! !((flags & 0x8000) << 15);
~~~~~~~~~~~~~~~~~~^~~~~~
https://bugzilla.gnome.org/show_bug.cgi?id=779329
2017-02-27 20:55:34 +02:00
Sebastian Dröge
d21017b52a
asfdemux: Check that we have enough data available before parsing bool/uint extended content descriptors
...
https://bugzilla.gnome.org/show_bug.cgi?id=777955
2017-01-31 13:50:21 +02:00
Sebastian Dröge
dec880031d
asfdemux: Reset number of languages to 0 when freeing the array because of errors
...
Otherwise we will happily index into the array at NULL if the requested
index is smaller than the number of languages that were previously
allocated.
https://bugzilla.gnome.org/show_bug.cgi?id=777937
2017-01-30 15:39:59 +02:00
Sebastian Dröge
0ff3f79330
asfdemux: Fix memory leak of payload extensions for unusable/unsupported streams
...
https://bugzilla.gnome.org/show_bug.cgi?id=775515
2016-12-02 14:06:21 +02:00
Sebastian Dröge
cddfdaab78
real: Fix compiler warnings with latest clang
...
realhash.c:295:11: error: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Werror,-Wconstant-conversion]
*buf1 = 128;
~ ^~~
https://bugzilla.gnome.org/show_bug.cgi?id=775112
2016-11-25 23:51:23 +02:00
Edward Hervey
9ad9e06fcb
asfdemux: Allow 64bit sizes for DATA object
...
we *can* have files greater than 4GB, any other object should be
smaller than that
2016-11-25 12:41:03 +01:00
Edward Hervey
4a52e6c827
asfdemux: Add sanity check for asf_stream_audio
...
We should have enough bytes for the specified codec_data
https://bugzilla.gnome.org/show_bug.cgi?id=775070
2016-11-25 10:08:31 +01:00
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