Edward Hervey
2657fc1fdd
typefindfunctions: Bail out on huge EBML chunks
...
We can't handle/store more than guint32 anyway
2018-07-06 13:48:09 +02:00
Edward Hervey
38ba954e82
typefindfunctions: Use guint32 for sizes
...
This brings it in sync with the type used with gst_type_find_*() API
2018-07-06 13:47:58 +02:00
Edward Hervey
a87724138b
typefindfunctions: Use types of same size/signedness
...
Where applicable/possible
2018-07-06 13:12:51 +02:00
Tim-Philipp Müller
1654faad38
typefindfunctions: fix tap typefinder
...
If we memcmp() 12 bytes we should make sure to get
at least 12 bytes as well, and not just 8 bytes.
Thanks oss-fuzz!
2018-05-06 11:10:21 +02:00
Fabrizio Gennari
401555ffb8
typefind: Add TAP and DMP files support
...
https://bugzilla.gnome.org/show_bug.cgi?id=661137
2018-05-05 17:13:50 +02:00
Xavier Claessens
201e7c7803
Meson: Generate pc file for all plugins in base
...
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:05:56 +01:00
Edward Hervey
384d27002c
typefind: Fix mp3 typefinding with multiple different headers
...
(yes, this has never worked since it was introduced, don't worry)
If we want to actually detect layer/channels/samplerate changes,
it would be better to:
* not reset the various prev_* variables at every iteration.
* and actually store the values when they change
CID #206079
CID #206080
CID #206081
2018-01-03 15:51:34 +01:00
Edward Hervey
aa10e82257
typefind: Avoid overflow calculation (image/quicktime)
...
The qt typefinder uses guint64 values for offset and size calculation
but the typefinder system only supports gint64 values.
Make sure we don't end up using potentially overflowing values.
2017-12-08 09:12:33 +01:00
Edward Hervey
1df9b05f18
typefind: Avoid overflow calculation
...
The qt typefinder uses guint64 values for offset and size calculation
but the typefinder system only supports gint64 values.
Make sure we don't end up using potentially overflowing values.
2017-12-08 08:05:10 +01:00
Edward Hervey
32eae2b166
typefind: Fix previous commit
...
We need to make sure we have *enough* data to read (including the
next 4 bytes)
2017-12-07 16:10:22 +01:00
Edward Hervey
b1c135aa72
typefind: Optimize qt/3gp typefinding
...
Request the whole 'ftyp' atom data and scan within it. Avoids doing
a lot of small 4 byte pull from upstream if it's invalid.
2017-12-07 15:05:07 +01:00
Edward Hervey
0428b4afda
typefind: wavpack: limit search in blocksize
...
The maximum blocksize is 131072 bytes, anything bigger is a corrupted
file.
2017-12-07 15:05:07 +01:00
Edward Hervey
a3bf3094d1
typefind: Fix ico out-of-bound read
...
The furthest we go to verify the data is reading a guint32 at offset
18, therefore make sure we can read as much.
2017-12-07 11:04:50 +01:00
Edward Hervey
a23d4d1c1f
typefind: Fix out-of-bound read in PNM typefinder
2017-11-02 17:59:29 +01:00
Tim-Philipp Müller
6c749f75a5
typefindfunctions: fix off-by-one in webvtt typefinder
...
We're also checking the byte after the WEBVTT magic.
2017-11-02 09:05:47 +00:00
Edward Hervey
5bcc1e2b57
typefind: Use GST_READ_UINT32 macros
...
Avoids undefined behaviour with shifting
2017-10-30 11:10:11 +01:00
Edward Hervey
7b5d97e9c3
typefind: Fix out-of-bound memory access
...
We were not checking the proper amount of available data in several
places
2017-10-30 08:57:19 +01:00
Aaron Boxer
12c69c4cdf
typefind: Detect JPEG2000 codestreams
...
https://bugzilla.gnome.org/show_bug.cgi?id=783625
2017-07-10 10:00:41 +03:00
Nicolas Dufresne
8e6c6266d7
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 13:42:07 -04:00
Tim-Philipp Müller
4246198fb3
No need for newlines in debug log statements
2017-04-12 09:58:49 +01:00
Jan Schmidt
0bb82827f7
typefind: Expand the search range for HLS detection
...
HLS files can have arbitrary extra tags in them, and
those can be quite long lines. We need to search
further than 256 bytes sometimes just to get past the
first few lines of the file. Make the limit 4KB,
which matches a typical input block size and should
hopefully cover every crazy input.
https://bugzilla.gnome.org/show_bug.cgi?id=780559
2017-03-27 13:01:39 +11:00
Heekyoung Seo
0889d89407
typefindfunctions: prevent unsigned int overflow
...
https://bugzilla.gnome.org/show_bug.cgi?id=778432
2017-02-14 12:22:37 +02:00
Thibault Saunier
d67f945177
encoding-profile: Fix documentation and port to gtk markdown
...
And remove some trailling whitepsaces
2016-12-16 11:27:31 -03:00
Reynaldo H. Verdejo Pinochet
13a491fb6c
typefind: add another test to itc typefinder
...
Report certainty after every test passes.
Additionally:
- Remove self-explanatory comment.
2016-12-02 16:13:24 -08:00
Matthew Waters
2fdccfd64f
typefind: bounds check windows ico detection
...
Fixes out of bounds read
https://bugzilla.gnome.org/show_bug.cgi?id=774902
2016-11-23 21:37:27 +11:00
Reynaldo H. Verdejo Pinochet
7e14875458
typefind: add typefinder for Apple/iTunes itc artwork files
...
Avoids audio/mpeg false-positive described at:
https://bugzilla.gnome.org/show_bug.cgi?id=773172
2016-11-21 10:53:13 -08:00
Nirbheek Chauhan
5c4f4ac1bd
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:09:51 +01:00
Jan Schmidt
ecb8d2e023
typefind: Add a typefinder for WebVTT files
2016-03-25 00:58:41 +11:00
Jan Schmidt
468111ee49
typefind: Reduce URI typefinder from MAX to LIKELY
...
Don't claim maximum likelihood for anything that starts
with text that looks like a uri, it's too broad.
2016-03-25 00:58:41 +11:00
Tim-Philipp Müller
ddfe7a2808
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-20 10:05:17 +00:00
Reynaldo H. Verdejo Pinochet
9cf5645860
typefind: strengthen check for valid H.263 picture layer
...
Avoids some false positives leading to miss identification:
* Prevent picture start code emulation for the first 2 bytes read
* Add check for valid "picture coding type" and "PB-frames mode" combination
Additionally, change name on confusingly named TR var to what
it is, the layer's PTYPE.
https://bugzilla.gnome.org/show_bug.cgi?id=693263
2016-02-17 11:26:25 -08:00
Sebastian Dröge
0416f121f2
typefindfunctions: Make sure that enough data is available in AAC/ADTS typefinder
...
We would otherwise read beyond the array bounds and crash every now and then.
This was introduced with 5640ba17c8
.
https://bugzilla.gnome.org/show_bug.cgi?id=759910
2015-12-28 13:51:02 +02:00
Tim-Philipp Müller
fb30c04145
typefinding: minor clean-up
...
Remove unnecessary brackets from IS_MPEGTS_HEADER macro.
2015-10-01 12:49:59 +01:00
Pankaj Darak
eaf4ce01d3
typefinding: mpeg-ts detection improvement
...
Allow AFC to be 0 for null pid packets.
https://bugzilla.gnome.org/show_bug.cgi?id=726117
2015-10-01 12:32:33 +01:00
Sebastian Dröge
8a736f6e98
typefindfunctions: Add typefinder for TTML+XML
...
Used in DASH among other things, as SMPTE Timed Text.
2015-08-18 12:56:33 +03:00
Jan Schmidt
f188a023c7
typefind: Make the H.264 typefind a tiny bit more lenient.
...
When we see prefix NALs before a Subset SPS has been spotted,
it might just be because the stream was truncated at the
start, so don't count those as either 'bad' or 'good' packets.
2015-08-15 12:14:56 +10:00
Ville Skyttä
04e3fc3f33
typefind: Treat *.umx (Unreal Music Package) as audio/x-mod
...
https://bugzilla.gnome.org//show_bug.cgi?id=752436
2015-07-22 12:59:03 +01:00
Tim-Philipp Müller
39576545b7
typefindfunctions: add DASH MPD typefinder
...
Moved from dashdemux plugin in -bad.
2015-07-16 21:26:30 +01:00
Thiago Santos
822b1d4511
typefind: also check moof to recognize video/quicktime
...
Helps recognizing fragmented files with the right type
2015-07-06 10:07:38 -03:00
Tim-Philipp Müller
f5ad17871c
typefinding: check for full UTF-8 BOM in MSS typefinder
...
https://bugzilla.gnome.org/show_bug.cgi?id=750802
2015-06-11 23:33:30 +01:00
Philippe Normand
d182e66bce
typefindfunctions: UTF-8 MSS Manifest detection support
...
Check if the first bytes of data contain an UTF-8 BOM.
https://bugzilla.gnome.org/show_bug.cgi?id=750802
2015-06-11 19:46:02 +02:00
Tim-Philipp Müller
c680e324bc
Remove obsolete Android build cruft
...
This is not needed any longer.
2015-04-26 18:42:34 +01:00
Tim-Philipp Müller
1638859627
typefinding: don't read more data than needed in MSS typefinder
2015-04-26 14:45:44 +01:00
Tim-Philipp Müller
9ef16721ed
typefinding: detect MSS manifests without using g_convert()
...
Embedded systems often have limited charset conversion
functionality, so don't rely on g_convert() (i.e. iconv)
for UTF-16 to UTF-8 conversions, we can easily enough do
that ourselves by converting to native endianness and
then using GLib's helper functions.
2015-04-26 14:41:30 +01:00
Tim-Philipp Müller
76199fddb6
typefindfunctions: detect mp4 common file format variant
...
Used e.g. by UltraViolet.
2014-11-26 16:54:39 +00:00
Tim-Philipp Müller
ef23ac5f52
typefind: improve 'audible' audio typefinder a little
...
Don't return NEARLY_CERTAIN just based on 4 bytes.
Also change media type to audio/x-audible.
https://bugzilla.gnome.org/show_bug.cgi?id=715050
2014-11-25 09:04:37 +00:00
Jonathan Matthew
ddda5866c5
typefindfunctions: add audio/audible typefinder
...
https://bugzilla.gnome.org/show_bug.cgi?id=715050
2014-11-25 00:55:50 +00:00
Peter G. Baum
16c8856b42
typefind: recognize Apple Core Audio Format
...
(CAF) Specification 1.0
https://bugzilla.gnome.org/show_bug.cgi?id=739840
2014-11-09 14:42:40 +00:00
Vincent Penquerc'h
5d1376cefa
typefind: remove unneeded test
...
We've already bailed out if we have less than 5 bytes.
Coverity 1226441
2014-10-30 11:42:02 +00:00
Stefan Sauer
7c247ab166
typefind: use gslice for typefine data
...
Also use our free function in the failure case.
2014-10-17 12:47:50 +02:00