Internally BPMDetect assumes that at most 2048 samples are passed
to it at once and stores those in a stack allocated static sized
array. If we pass too many samples this will result in a buffer overflow
resulting in heavy stack corruption and a crash. Fixes bug #570996.
Use gst_element_klass_set_details_simple(), install properties
with static strings, create pads directly from the static pad
templates, directly put the segment into the instance struct,
use GST_MSECOND instead of numbers.
The PAR is a GstFraction and not a double, use gst_structure_get_fraction().
Simplify setcaps() functions.
Always build the modplug plugin against the system modplug library
and remove our own copy. Using the system version has advantages
if security issues or other critical bugs are found in libmodplug
and our own copy wasn't really maintained anyway.
Also our copy only contained some patches to use GLib types and functions.
Fixes bug #568837.
Original commit message from CVS:
* ext/resindvd/resindvdsrc.c:
Additional patch for resin fixes time-based seeking in titles
that don't start at sector 0 in the VTS, and fixes interpretation
of the cell elapsed time, so that it reports the correct time after
the seek completes.
Really fixes#566957.
Original commit message from CVS:
Based on Patch by: Brian Cameron <brian dot cameron at sun dot com>
* ext/ladspa/search.c: (LADSPAPluginSearch):
Avoid searching (null) paths or crashing on platforms where printing a
NULL string segfaults. Fixes#567004.
Original commit message from CVS:
* ext/resindvd/resindvdbin.c:
* ext/resindvd/resindvdsrc.c:
* ext/resindvd/resindvdsrc.h:
* ext/resindvd/rsnaudiomunge.c:
Add support for time based seeking.
Make setting dvd:// reset to the default device.
Make the 'audiomunge' element send any new segment start before
the 'gap filler' buffer it generates, and any segment closes
after.
Fixes: #566957
Original commit message from CVS:
* ext/x264/gstx264enc.c: (gst_x264_enc_class_init),
(gst_x264_enc_header_buf), (gst_x264_enc_encode_frame):
Use hyphen in property name, perform safety buffer size check
prior to mem access, and some more parentheses in macro.
Original commit message from CVS:
* ext/apexsink/Makefile.am:
Link against -lgcrpyto for RSA_new and RSA_free.
* ext/faac/gstfaac.c:
* ext/x264/gstx264enc.c:
Fix compiler warnings.
Original commit message from CVS:
* ext/celt/gstceltenc.c:
* ext/celt/gstceltenc.h:
* ext/metadata/gstmetadatamux.c:
* gst/qtmux/gstqtmux.c:
* gst/qtmux/gstqtmux.h:
Totally remove the internal taglists and fully use tagsetter. Fixes
various tag muxing issues.
Original commit message from CVS:
* ext/jp2k/gstjasperdec.c: (gst_jasper_dec_sink_setcaps):
* ext/jp2k/gstjasperenc.c: (gst_jasper_enc_reset),
(gst_jasper_enc_set_src_caps), (gst_jasper_enc_init_encoder),
(gst_jasper_enc_sink_setcaps), (gst_jasper_enc_get_data):
* ext/jp2k/gstjasperenc.h:
Add image/x-jpc caps name for real, raw JPEG2000 codestream data.
In 0.11 we should merge image/x-j2c and image/x-jpc and simply drop
the non-standard boxing in the jasper elements and handle it in
qtmux/qtdemux.
image/x-jpc will be used by mxfdemux later.
Also add support for JP2 output in jp2kenc.
Original commit message from CVS:
* ext/jp2k/gstjasperdec.c: (gst_jasper_dec_sink_setcaps):
Don't unref the element instance if we don't own a reference.
Original commit message from CVS:
Patch by: Jonathan Matthew <notverysmart at gmail dot com>
* ext/spc/gstspc.c: (gst_spc_dec_sink_event), (spc_setup):
Post an error and push EOS when we can't start playback for some reason.
also avoid a crash when fed an empty file. Fixes#480543.
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c:
* ext/jack/gstjackaudiosrc.c:
Query port latencies for sink/src delays.
* ext/jack/gstjackbin.c:
No printf please.
Original commit message from CVS:
Patch by: Tal Shalif <tshalif at nargila dot org>
* ext/resindvd/resindvdsrc.c:
(rsn_dvdsrc_prepare_streamsinfo_event):
Fix format string. Fixes bug #561992.
Original commit message from CVS:
* ext/x264/gstx264enc.c: (gst_x264_enc_set_src_caps):
Construct source caps in more conventional (and correct) manner.
Original commit message from CVS:
* ext/dirac/gstdiracenc.cc:
Set pixel-aspect-ratio correctly in the encoder API, as well
as some default gstreamerish colorspace properties. Also,
apparently, change a bunch of indentation.
Original commit message from CVS:
* ext/jp2k/gstjasperdec.c: (gst_jasper_dec_init),
(gst_jasper_dec_reset), (gst_jasper_dec_negotiate),
(gst_jasper_dec_get_picture):
* ext/jp2k/gstjasperdec.h:
Make pad template caps reflect the supported formats.
Add or modify some debug statements, and slightly simplify image
passing to encoding library.
Original commit message from CVS:
* ext/resindvd/resindvdsrc.c:
* ext/resindvd/resindvdsrc.h:
Better fix for #546319 and similar cases by explicitly
registering when we're in playing state or not.
Original commit message from CVS:
* ext/ladspa/gstladspa.c:
Whitespace.
* ext/ladspa/gstsignalprocessor.c:
Add a FIXME:. not sure if this code does the forwarding correctly.
Original commit message from CVS:
* ext/resindvd/resindvdsrc.c:
Make sure to start the NAV packet processing when changing
state to PLAYING by passing a flag that indicates the state
change is in progress.
Fixes: #546319
Original commit message from CVS:
* ext/resindvd/resin-play:
Remove $@ to fix parse_launch warning
* ext/resindvd/resin-play2:
Add a version that uses deinterlace and xvimagesink.
Original commit message from CVS:
* ext/apexsink/gstapexplugin.c: (plugin_init):
Set apexsink's rank to NONE so it doesn't get used by
autoaudiosink (there's no point really). (#556588)
Original commit message from CVS:
* ext/apexsink/gstapexraop.c: (gst_apexraop_connect),
(gst_apexraop_set_volume):
Fix format string compiler warnings.
Original commit message from CVS:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbenc.h:
Pass the discont flag from the input buffer on to the output buffer in
the AMR encoder.
Original commit message from CVS:
* ext/amrwb/gstamrwbparse.c:
* ext/amrwb/gstamrwbparse.h:
Add flush seek handler. Taken from recent armnbparse changes.
Sync the code more and use #defines for HEADER.
Original commit message from CVS:
* ext/amrwb/gstamrwbparse.c:
* ext/amrwb/gstamrwbparse.h:
Fix the duration query. Also set caps on the pads and buffers more
correctly. Taken from recent armnbparse changes.
Original commit message from CVS:
* ext/resindvd/resindvdsrc.c:
Fix next/prev chapter seeking at the beginning or end.
Use 64-bit scaling utility functions for converting MPEG
timestamps.
Original commit message from CVS:
* configure.ac
* ext/metadata/README:
* ext/metadata/metadataexif.c:
* ext/metadata/metadatatags.c:
* ext/metadata/metadatatags.h:
Start using core geo tags (bump req). Fix handling of location
references.
* tests/check/Makefile.am:
Sort blacklisted elements and remove moved ones. Add new test.
* tests/check/pipelines/metadata.c:
Add first tests for metadata element.
* tests/icles/metadata_editor.c:
Move free to correct place.
Original commit message from CVS:
* ext/metadata/metadata_mapping.htm:
* ext/metadata/metadataxmp.c:
* ext/metadata/Makefile.am:
Add mapping of format and mime type to xmp.
Original commit message from CVS:
* ext/metadata/README:
* ext/metadata/metadataexif.c:
* ext/metadata/metadatatags.c:
* ext/metadata/metadatatags.h:
Reverting. Will need to wait for core 0.10.21 release.
Original commit message from CVS:
* ext/resindvd/gstmpegdemux.c:
* ext/resindvd/gstmpegdemux.h:
* ext/resindvd/resindvdbin.c:
* ext/resindvd/resindvdsrc.c:
* ext/resindvd/rsnstreamselector.c:
Add in Title/Chapter seeking, and simple but buggy audio
and subtitle stream selection.
Original commit message from CVS:
* ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_start),
(gst_neonhttp_src_send_request_and_redirect):
Clean up the debug logging code and #ifdef mess a bit: whether or not
gstreamer debug messages should be output should not depend on an
element property; also, GST_ELEMENT_ERROR will leave a line in the log
already, so merge the more useful debug log messages with the less useful
error debug strings.
Original commit message from CVS:
* ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_start):
Don't post LIBRARY_INIT errors where we should be posting
RESOURCE OPEN_READ errors. Fixes#552506.
Original commit message from CVS:
* ext/resindvd/plugin.c: (plugin_init):
* ext/resindvd/resindvdsrc.c:
* ext/twolame/gsttwolame.c: (plugin_init):
* gst/aiffparse/aiffparse.c: (plugin_init):
Enable/fix up translations for these plugins.
* po/LINGUAS:
Add 'ca' to LINGUAS.
* po/POTFILES.in:
* po/POTFILES.skip:
Add more files for translation and more files which tools
should skip.
Original commit message from CVS:
* ext/celt/gstceltdec.c: (celt_dec_chain_parse_data):
Correctly take the granulepos from upstream if possible and
correctly handle the granulepos in various calculations: the
granulepos is the sample number of the _last_ sample in a frame, not
the first.
* ext/celt/gstceltenc.c: (gst_celt_enc_sinkevent),
(gst_celt_enc_encode), (gst_celt_enc_chain),
(gst_celt_enc_change_state):
* ext/celt/gstceltenc.h:
Handle non-zero start timestamps in the encoder and detect/handle
stream discontinuities. Fixes bug #547075.
Original commit message from CVS:
* ext/faac/gstfaac.c: (gst_faac_init), (gst_faac_sink_event),
(gst_faac_chain), (gst_faac_change_state):
* ext/faac/gstfaac.h:
Add code for calculating proper timestamp/duration for the trailing
encoded buffers that faac will output when receiving EOS.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
Add, but commented out xml/element-dc1394.xml. Its documented, but
I can't get it to be build.
* ext/celt/gstceltdec.c:
* ext/celt/gstceltenc.c:
Fix doc warnings and reformat the doc block.
Original commit message from CVS:
* ext/x264/gstx264enc.c: (gst_x264_enc_reset),
(gst_x264_enc_chain), (gst_x264_enc_encode_frame):
* ext/x264/gstx264enc.h:
Do not deal with duplicated input (timestamps). If needed,
a generic element can do so.
Do not manipulate input timestamps on the way out,
since that shifts the timeline and A/V sync.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins.args:
Integrate new properties into documentation.
* ext/x264/gstx264enc.c: (gst_x264_enc_class_init),
(gst_x264_enc_init), (gst_x264_enc_init_encoder),
(gst_x264_enc_set_property), (gst_x264_enc_get_property):
Fix up API prior to eventual plugin move.
API: GstX264Enc:pass (provides more options, and changed to enum)
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* ext/x264/gstx264enc.c:
* tests/check/Makefile.am:
* tests/check/elements/x264enc.c: (setup_x264enc),
(cleanup_x264enc), (GST_START_TEST), (x264enc_suite), (main):
Add documentation and unit test for x264enc.
Original commit message from CVS:
* ext/x264/gstx264enc.c: (gst_x264_enc_init),
(gst_x264_enc_header_buf), (gst_x264_enc_encode_frame):
Allocate some buffers in more adaptive and economical fashion.
Original commit message from CVS:
* configure.ac:
Check for sufficiently up-to-date x264 API.
* ext/x264/gstx264enc.c: (gst_x264_enc_pass_get_type),
(gst_x264_enc_base_init), (gst_x264_enc_class_init),
(gst_x264_enc_init), (gst_x264_enc_init_encoder),
(gst_x264_enc_set_property), (gst_x264_enc_get_property):
* ext/x264/gstx264enc.h:
Expose some more parameters of the x264 encoder as properties.
Original commit message from CVS:
* ext/x264/gstx264enc.c: (gst_x264_enc_log_callback),
(gst_x264_enc_finalize), (gst_x264_enc_header_buf),
(gst_x264_enc_set_src_caps), (gst_x264_enc_sink_set_caps),
(gst_x264_enc_flush_frames):
Coding style and layout; re-order some functions in more
typical and natural flow.
Original commit message from CVS:
* ext/x264/Makefile.am:
* ext/x264/gstx264enc.c: (gst_x264_enc_header_buf),
(gst_x264_enc_sink_set_caps), (gst_x264_enc_base_init),
(gst_x264_enc_class_init), (gst_x264_enc_log_callback),
(gst_x264_enc_init), (gst_x264_enc_init_encoder),
(gst_x264_enc_finalize), (gst_x264_enc_chain),
(gst_x264_enc_encode_frame), (plugin_init):
* ext/x264/gstx264enc.h:
Use video format library and GST_WRITE_*_BE macros where applicable.
Use finalize in stead of dispose.
Set up debug category and log callback.
Original commit message from CVS:
Patch by: Frederic Crozat <fcrozat@mandriva.org>
* ext/sndfile/gstsf.c: (plugin_init):
* sys/dvb/gstdvbsrc.c: (gst_dvbsrc_plugin_init):
* sys/oss4/oss4-audio.c: (plugin_init):
Make sure gettext returns translations in UTF-8 encoding rather
than in the current locale encoding (#546822).
Original commit message from CVS:
* ext/twolame/gsttwolame.c: (gst_two_lame_sink_setcaps),
(gst_two_lame_chain):
* ext/twolame/gsttwolame.h:
Allow raw float samples as input for encoding.
Original commit message from CVS:
Patch by: Tal Shalif <tshalif at nargila dot org>
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_initsdl):
Use g_setenv() and g_unsetenv() instead of setenv() to fix compilation
with mingw. Fixes bug #545247.
Original commit message from CVS:
* configure.ac:
* ext/ladspa/Makefile.am:
Link the ladspa plugin with -ldl. It's needed for dlopen() and friends
for loading the ladspa plugins and previously was linked in by
gmodule. Fixes bug #543848.
Original commit message from CVS:
* ext/resindvd/gstmpegdemux.c:
Remove whitespace line.
* ext/resindvd/resindvdbin.c:
* ext/resindvd/resindvdbin.h:
Make it so that audio/video pads aren't added to the bin
until after data flow starts.
* ext/resindvd/resin-play:
Move video buffer queue outside resindvdbin
* ext/resindvd/resindvdsrc.c:
Check that the nav_clock_id didn't already get unscheduled.
* gst/dvdspu/gstdvdspu.c:
Remove assert that sometimes triggers erroneously.
Original commit message from CVS:
* docs/plugins/.cvsignore:
Ignore *-undeclared.txt
* ext/resindvd/rsnaudiomunge.c:
Turn g_print's into debug statements.
* ext/resindvd/resin-play:
* ext/resindvd/Makefile.am:
* ext/resindvd/resindvdbin.c:
* ext/resindvd/resindvdbin.h:
* ext/resindvd/rsnparsetter.c:
* ext/resindvd/rsnparsetter.h:
* ext/resindvd/rsnwrappedbuffer.c:
* ext/resindvd/rsnwrappedbuffer.h:
Add a bloated implementation of a really simple idea: Replace the
pixel-aspect-ratio in the output video with a prescribed one when
necessary. There must be an easier way.
Split the dvdspu out of the resindvdbin and put out the subpicture
stream on the subpicture pad.
* ext/resindvd/gstmpegdemux.c:
Send video-aspect events down the pipe from the demuxer.
* ext/resindvd/resindvdsrc.c:
* ext/resindvd/resindvdsrc.h:
Handle timed-stills somewhat using g_cond_timed_wait, with a FIXME
to make it use clock-waiting later.
* ext/resindvd/rsnbasesrc.c:
Don't overwrite the last_stop in the basesrc segment after a seamless
seek.
Original commit message from CVS:
* ext/spc/gstspc.c: (spc_setup):
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopTop.inc:
Don't use declarations after statements in the remaining code.
Original commit message from CVS:
Patch by:
Jonathan Rosser <jonathan dot rosser at rd dot bbc dot co dot uk>
* ext/metadata/metadataexif.c: (metadataparse_handle_unit_tags):
* ext/metadata/metadataxmp.c:
(metadataparse_xmp_iter_add_to_tag_list):
* ext/mythtv/gstmythtvsrc.c: (gst_mythtv_src_start):
* ext/timidity/gstwildmidi.c: (gst_wildmidi_loop):
Don't use declarations after statements.
Original commit message from CVS:
* ext/mpeg2enc/gstmpeg2encoptions.cc:
* ext/mpeg2enc/gstmpeg2encoptions.hh:
Expose the additional MPEG HDTV format profiles available in latest
mjpegtools version.
Original commit message from CVS:
* ext/resindvd/resindvdsrc.c:
* ext/resindvd/resindvdsrc.h:
Schedule NAV packets and activate them with an async clock callback
at the right moment. This makes delayed menu highlights appear
at the correct time and fixes Back To The Future.
When outputting new segment in do_seek(), calculate our position
value properly, so we report the right time when popping in and
out of the menus.
* ext/resindvd/rsnbasesrc.c:
When handling a non-flushing seek, accumulate the segment,
rather than having every seek start from 0 and messing with sync
Original commit message from CVS:
* ext/resindvd/resindvdbin.c:
Parse the URI argument into the device name so dvd:///path/to/image
works.
* ext/resindvd/resindvdsrc.c:
Implement a trivial duration query reporting the current PGC length.
* gst/dvdspu/gstdvdspu.c:
Rename typo in the function name.