summaryrefslogtreecommitdiff
path: root/gst/asfdemux
Commit message (Collapse)AuthorAgeFilesLines
* Use g_memdup2() where available and add fallback for older GLib versionsTim-Philipp Müller2021-06-021-2/+5
| | | | | | | | | | | | | - 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>
* asfdemux: Drop duplicate seek events.Doug Nazar2021-04-201-3/+12
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/81>
* asfdemux: allow per feature registrationStéphane Cerveau2021-03-298-30/+108
| | | | | | | | | | | | | 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>
* asfdemux: Don't ignore the return result of gst_segment_do_seek()Jan Schmidt2020-07-271-6/+13
| | | | | | | 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>
* asfdemux: Only forward SEEK event when in push mode.Derek Lesho2020-07-261-5/+5
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/48>
* asfdemux: extract WM/PartOfSet disc number and count metadataTim-Philipp Müller2020-06-021-0/+17
| | | | | | Fixes #30 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/54>
* asfdemux: sprinkle some INDENT-OFFTim-Philipp Müller2020-06-021-0/+7
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/54>
* asfdemux: Always re-initialize metadata and global_metadataDerek Lesho2020-04-081-4/+23
| | | | | | | | 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.
* Remove autotools build systemTim-Philipp Müller2019-10-132-14/+0
|
* documentation: fix some typosAaron Boxer2019-09-021-3/+3
|
* asfdemux: remove some unused cruft in internal headersTim-Philipp Müller2019-05-251-31/+0
|
* docs: Port documentation to hotdocThibault Saunier2019-05-132-1/+2
|
* docs: Port all docstring to gtk-doc markdownThibault Saunier2019-04-262-4/+5
|
* asfdemux: Remove 0.10 codeEdward Hervey2018-06-111-12/+0
| | | | | This was used to "close" a segment. It's no longer needed anymore in 1.x (it was essentially sending the same thing again)
* asfdemux: Only send flush event on seeking flushesEdward Hervey2018-05-221-8/+6
| | | | And not on all the time
* Meson: Generate pc file for all plugins in uglyXavier Claessens2018-04-251-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=794568
* asfdemux: Set the stream-format field of H264 streamsSebastian Dröge2018-04-161-0/+8
| | | | If we have codec_data it will be AVC, otherwise assume byte-stream.
* asfdemux: Fix prerolling files with "empty" streamsEdward Hervey2017-11-131-11/+22
| | | | | | | | | | | | | | | | | | | | | | This is a regression that was introduced by commit 1803b3c18530cb0100d140c2b8e49a8dfe41f941 " 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.
* asfdemux: Store the stream type in streamsEdward Hervey2017-11-131-1/+3
| | | | The field was present but never set :)
* asfdemux: More index handlingEdward Hervey2017-06-271-1/+9
| | | | | | | | | | 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 97294eb8bbed1b9dad7d3f2c52dd69eb1812cc06
* asfdemux; Don't assume index is present at end of fileEdward Hervey2017-06-271-1/+4
| | | | | | | | | | 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 97294eb8bbed1b9dad7d3f2c52dd69eb1812cc06
* asfdemux: adjust segment start to a keyframe ts only for a KEYUNIT seekMark Nauwelaerts2017-06-241-2/+2
| | | | | | | ... which is how it has always been until changed coincidentally in commit 9ee60482b265481d0e3b397044f560eb736e5429 which then prompted commit dba14178ce6115b406ef86e356b1201463af5e2a to consider ACCURATE as well to compensate for that in a lateral way
* asfdemux: fix checking for header objectsThiago Santos2017-06-061-2/+3
| | | | | The if 'and' condition was mixed up with the last parameter of the function and would lead to wrong results
* Remove plugin specific static build optionNicolas Dufresne2017-05-161-1/+0
| | | | | Static and dynamic plugins now have the same interface. The standard --enable-static/--enable-shared toggle are sufficient.
* asfdemux: Fix compilation with gcc 7Sebastian Dröge2017-02-271-1/+1
| | | | | | | | | 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
* asfdemux: Check that we have enough data available before parsing bool/uint ↵Sebastian Dröge2017-01-311-2/+12
| | | | | | extended content descriptors https://bugzilla.gnome.org/show_bug.cgi?id=777955
* asfdemux: Reset number of languages to 0 when freeing the array because of ↵Sebastian Dröge2017-01-301-0/+1
| | | | | | | | | | 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
* asfdemux: Fix memory leak of payload extensions for unusable/unsupported streamsSebastian Dröge2016-12-021-2/+8
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=775515
* asfdemux: Allow 64bit sizes for DATA objectEdward Hervey2016-11-251-12/+11
| | | | | we *can* have files greater than 4GB, any other object should be smaller than that
* asfdemux: Add sanity check for asf_stream_audioEdward Hervey2016-11-251-0/+5
| | | | | | We should have enough bytes for the specified codec_data https://bugzilla.gnome.org/show_bug.cgi?id=775070
* asfdemux: Add sanity checks when reading asf_stream_video_formatEdward Hervey2016-11-251-2/+13
| | | | | | | 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
* asfdemux: Add check for invalid/corrupt asf objectEdward Hervey2016-11-251-28/+72
| | | | | | | | | 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
* asfdemux: Handle EOS in push-mode on corrupted filesEdward Hervey2016-11-221-0/+7
| | | | | | | 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
* asfdemux: FILE headers are mandatory in the headerEdward Hervey2016-11-222-1/+10
| | | | | | | 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
* asfdemux: Handle incomplete header in pull modeEdward Hervey2016-11-221-0/+2
| | | | | | | | | 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
* asfdemux: Handle issues with "empty" filesEdward Hervey2016-11-221-6/+21
| | | | | | | | | | | 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
* Use the new API to post flow ERROR messages on the busThibault Saunier2016-08-261-6/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=770158
* meson: Link asfdemux against the gstsdp libraryThibault Saunier2016-08-241-1/+3
|
* Add support for Meson as alternative/parallel build systemNirbheek Chauhan2016-08-201-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* asfdemux: Add byte rate based bitrate tag in case there are no audio propsCarlos Rafael Giani2016-08-021-0/+21
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=769418
* asfdemux: fix seeking back after EOS has been reached in push modeVootele Vesterblom2016-05-271-0/+5
| | | | | | | | | | 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
* ugly: use new gst_element_class_add_static_pad_template()Vineeth TM2016-03-242-10/+8
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=763082
* asfdemux: Don't modify segment values on accurate seeksEdward Hervey2016-03-082-6/+11
| | | | | | | 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
* asfdemux: fix adding bitrate to stream tagsTim-Philipp Müller2016-02-221-4/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=699586
* win32: remove outdated build cruftTim-Philipp Müller2016-02-211-163/+0
| | | | | | 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.
* asfdemux: Support reverse playbackRavi Kiran K N2016-01-043-66/+332
| | | | | | | | | | 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
* asfdemux: Don't push any data on pads after the segment.stopSebastian Dröge2015-09-251-1/+22
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=755469
* asfdemux: Only change segment start to a keyframe for KEYUNIT seeksSebastian Dröge2015-09-252-12/+12
| | | | | | | Not for accurate seeks, which should accurately start at the requested position. https://bugzilla.gnome.org/show_bug.cgi?id=755469
* asfdemux: Update segment.position when pushing buffersSebastian Dröge2015-09-251-8/+21
| | | | | | Without this, non-flushing seeks are not going to work well. https://bugzilla.gnome.org/show_bug.cgi?id=755469
* asfdemux: Only push EOS event if we're not doing a segment seekSebastian Dröge2015-09-251-4/+8
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=755469