Commit graph

752 commits

Author SHA1 Message Date
Sebastian Dröge
fedd6c2a28 avidemux: Also detect 0x000001 as H264 byte-stream start code in codec_data
This works around some AVI files storing byte-stream data in the
codec_data. The previous workaround was only checking for
0x00000001 (4 bytes) instead of 0x000001 (3 bytes).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1072>
2021-09-02 12:07:52 +00:00
Stéphane Cerveau
434955e0ff avi: 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-good/-/merge_requests/876>
2021-03-29 12:45:22 +02:00
Edward Hervey
619457ae26 avidemux: Avoid potential double-free
stream->name was being freed (without being NULL-ed) before we were certain it
would be set again.

CID #1456071

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/582>
2020-05-06 04:36:46 +00:00
Sebastian Dröge
c4f6ce789d avimux: Add support for >2 raw audio channels
For this case write a WAVEFORMATEXTENSIBLE header and also reorder the
raw audio channels to the AVI channel order if needed.
2020-01-19 12:09:38 +00:00
Sebastian Dröge
04806a75bd avimux: Add support for S24LE and S32LE raw audio
avidemux already handles this correctly.
2019-12-18 11:16:30 +00:00
Sebastian Dröge
4dbaff424f avimux: Allow muxing v210 video into AVI
avidemux already handles this.
2019-12-18 10:20:25 +00:00
Tim-Philipp Müller
c9a47c0c8d Remove autotools build system 2019-10-14 11:04:18 +01:00
Aaron Boxer
46989dca96 documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
Thibault Saunier
af01988534 doc: Port documentation to hotdoc 2019-05-13 11:34:56 -04:00
Thibault Saunier
0a6a62aa76 docs: Port all docstring to gtk-doc markdown 2019-05-13 10:24:40 -04:00
Wim Taymans
7db251f214 avidemux: fix misleading debug line 2018-10-18 15:50:19 +02:00
Xavier Claessens
edd9c8f6b8 Meson: Generate pc file for all plugins in good
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:07:06 +01:00
Mark Nauwelaerts
dad2b41e4d avidemux: provide average bitrate tag 2017-07-09 10:55:00 +02:00
Nicolas Dufresne
b68d936ae0 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:41:19 -04:00
Sebastian Dröge
8dee6f815f avidemux: Don't increment -1 / unset indices
CID 1398545
2017-02-28 15:47:23 +02:00
Sebastian Dröge
4f478357ae avidemux: Stop reading a ncdt sub-tag if it goes behind the surrounding tag
https://bugzilla.gnome.org/show_bug.cgi?id=777532
2017-01-20 17:16:10 +02:00
Sebastian Dröge
32d9f3c158 avidemux: Fix various out of bounds reads when parsing ncdt tags
https://bugzilla.gnome.org/show_bug.cgi?id=777500
2017-01-20 07:58:26 +02:00
Garima Gaur
a2d02300f8 avidemux: fix some caps leaks
https://bugzilla.gnome.org//show_bug.cgi?id=776789
2017-01-03 11:32:20 +00:00
Mark Nauwelaerts
494f4beb40 avidemux: tweak KEY_UNIT SNAP seek handling
Previously, seeking to position y where y is (strictly) within a keyframe
would seek to that keyframe both with SNAP_BEFORE and SNAP_AFTER,
where the latter is now adjusted to really snap to the next keyframe.
2016-12-29 12:48:50 +01:00
Mark Nauwelaerts
3362dceb25 avidemux: correctly perform pull mode KEY_UNIT seeking
Rather amazingly (and equally unnoticed), keyunit seeking resulted in segments
where start != time (which is bogus for simple avi timeline).  So, properly
adjust the segment (start) rather than fiddling with segment time (only).
2016-12-28 13:59:30 +01:00
Mark Nauwelaerts
002cfd00b7 avidemux: restore considering of pull mode KEY_UNIT seeking
... by using the original seek event's flags rather than the corresponding
segment flags, which do not have such counterpart flags (and
do no longer have them covertly sneaking in nowadays).
2016-12-28 13:59:07 +01:00
Sebastian Dröge
9a4b1e9cdc avidemux: Free vprp chunk also if it existed but we made no use of it
https://bugzilla.gnome.org/show_bug.cgi?id=775479
2016-12-01 20:04:28 +02:00
Sebastian Dröge
ef42288f3f avidemux: Ensure that tags are valid UTF-8 before adding them to the taglist
https://bugzilla.gnome.org/show_bug.cgi?id=775219
2016-11-28 13:51:41 +02:00
Sebastian Dröge
b8265e95a7 avidemux: Ensure that raw video have properly aligned buffers
That is, aligned to to 32 bytes for video. Fixes crashes if the raw
buffers are passed to SIMD processing functions.

https://bugzilla.gnome.org/show_bug.cgi?id=774428
2016-11-20 13:14:08 +02:00
Thibault Saunier
150edef830 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:26 -03:00
Nirbheek Chauhan
b09f478e80 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:21:12 +01:00
Edward Hervey
781d3f0208 avidemux: Let upstream events go through upstream
There's no real reason to avoid sending QOS/NAVIGATION events upstrea.
Some elements might want to have that information.
2016-07-08 15:00:28 +02:00
Sebastian Dröge
9e5cda59f8 avidemux: Pass through seek event seqnums in all SEGMENT/EOS events and SEGMENT_DONE messages/events
See https://bugzilla.gnome.org/show_bug.cgi?id=765935
2016-05-20 11:12:44 +03:00
Dimitrios Katsaros
1f0cfd9ffb avimux: add support for png
https://bugzilla.gnome.org/show_bug.cgi?id=758059
2016-05-16 18:14:21 +01:00
Jesper Larsen
ce05adfb30 avimux: Do not write index and header if idx is NULL
Fixes criticals with e.g.
videotestsrc num-buffers=1 ! identity drop-probability=1.0 ! avimux ! fakesink

https://bugzilla.gnome.org/show_bug.cgi?id=748700
2016-05-13 09:55:45 +01:00
Mark Nauwelaerts
eb336a804b avimux: set audio header rate according to calculated bps in stop_file
... now that set_fields is no longer called there by
e538608b3f
2016-05-01 15:14:00 +02:00
Sebastian Dröge
e538608b3f avimux: Don't override maximum audio chunk size with the scale again just before writing it
set_fields() should only be called in the beginning, otherwise we will never
remember the maximum audio chunk size and write a wrong block align... which
then causes wrong timestamps and other problems.
2016-04-27 14:09:03 +03:00
Sebastian Dröge
34dc1298e9 avimux: Actually store the largest audio chunk size for the VBR case of MP2/MP3
3ea338ce27 changed avimux to do that, but it
never actually kept track of the max audio chunk for MP3 and MP2. These are
knowing the hdr.scale only after parsing the frames instead of at setcaps
time.
2016-04-27 13:54:31 +03:00
Vineeth TM
1071309870 good: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Vineeth TM
7150b89c59 avidemux: Fix buffer memory leak
buffer being mapped is not being unmapped in some cases

https://bugzilla.gnome.org/show_bug.cgi?id=762420
2016-02-22 10:14:44 +02:00
Tim-Philipp Müller
13a9a7543d 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 09:47:43 +00:00
Vineeth TM
dc70bfd36a avidemux: Fix string memory leak
codec_name is not being freed in all conditions leading to memory leak

https://bugzilla.gnome.org/show_bug.cgi?id=762117
2016-02-16 11:43:24 +00:00
Edward Hervey
f173bd7d16 avidemux: Properly set SPARSE stream flags for subpicture/subtitle
And while we're at it, also detect 'DXSA' as being a variant fourcc
of 'DXSB' for XSUB
2015-12-02 14:12:55 +01:00
Michael Olbrich
4c50ad0e27 avimux: don't crash if we never got audio caps before stopping
auds.blockalign is set once the first caps arrive. If
gst_avi_mux_stop_file() is called before this happens then auds.blockalign
is zero and gst_avi_mux_audsink_set_fields() cause a crash:
[...]
avipad->parent.hdr.rate = avipad->auds.av_bps / avipad->auds.blockalign;
[...]

https://bugzilla.gnome.org/show_bug.cgi?id=758912
2015-12-01 20:10:19 +02:00
Vineeth T M
bff62bfe13 avidemux: Reverse playback does not consider segment.start
During reverse playback, the media should stop playing at segment.start
This does not happen, and avidemux continues to process data even when
current timestamp is less that segment.start.

https://bugzilla.gnome.org/show_bug.cgi?id=755094
2015-10-02 17:40:18 +03:00
Eunhae Choi
dc74d744c3 avidemux: Fix taglist leak
gst_tag_list_insert() does not take ownership of the inserted taglist.

https://bugzilla.gnome.org/show_bug.cgi?id=755138
2015-09-17 12:03:08 +02:00
Olivier Crête
7917bea855 avidemux: Stop without posting error on flushing
This could just be a normal pipeline shutdown.
2015-07-25 03:25:28 -04:00
Tim-Philipp Müller
2e3a5ba227 Update mailing list address from sourceforge to freedesktop 2015-07-16 17:19:03 +01:00
Vineeth T M
5439fc9a0c avidemux: fix event leak
when seek fails in avidemux, event is not being freed.

https://bugzilla.gnome.org/show_bug.cgi?id=752117
2015-07-08 12:57:43 +01:00
Jimmy Ohn
4f4605f481 avidemux: fix return type of index_entry_offset_search()
It's a compare function and may return a negative value,
so should for correctness and consistency return a signed
integer.

https://bugzilla.gnome.org/show_bug.cgi?id=751780
2015-07-01 19:18:11 +01:00
Luis de Bethencourt
9391622579 Rename property enums from ARG_ to PROP_
Property enum items should be named PROP_ for consistency and readability.
2015-04-27 11:22:11 +01:00
Tim-Philipp Müller
d753a3eeb1 Remove obsolete Android build cruft
This is not needed any longer.
2015-04-26 17:55:07 +01:00
Tim-Philipp Müller
c4fa54da17 Fix double semicolons 2015-03-10 09:31:20 +00:00
Mark Nauwelaerts
d0587467fc avidemux: resurrect some flow return handling 2015-03-07 20:22:33 +01:00
Jimmy Ohn
42599eab76 avidemux: remove not needed code
In gst_avi_demux_handle_src_query, there is not needed code.
We already check about stream is vbr or not at the upper line.
o, we don't need to check this condition becase stream is not
vbr 100% in this case.

https://bugzilla.gnome.org/show_bug.cgi?id=745276
2015-03-04 10:08:21 +01:00