Protect pad exposure with a preroll lock to avoid situations
where no-more-pads is fired more than once, or fired just before
the last pad is actually added.
Send segment updates to the audio and subpicture pads more frequently,
but less often to the video pad, where timestamps appear less often.
This helps with gap filling on some DVDs.
When creating a filler audio buffer in rsnaudiomunge, generate
a bit more, as audio sinks don't seem to preroll otherwise. This
needs a better algorithm in general, to intelligently fill the
gap, rather than hard-coding a value.
Make timed still frames work better by extending the current segment
when needed, and restarting the still sequence with the correct
remaining duration when the wait it interrupted by activation of a
highlight NAV packet.
The part number reported while in a menu doesn't reflect the selected
menu, so it's pointless to use it to report which menu we're in (Audio,
Angle etc). Just report "DVD Menu" in the title tag instead.
The logical audio and subpicture stream number doesn't always correspond
with the physical substream it is coming from. When configuring the demuxer
pads, use the mapping table provided in each PGC to get the layout and
ensure the demuxer creates the correct pads.
modplug's sndfile.h conflicts with libsndfile's sndfile.h, so
we'll access it directly using modplug/sndfile.h. Fixes#573849
Signed-off-by: David Schleef <ds@schleef.org>
No need to unref buffers if pad_push returns something non-FLOW_OK.
In fact, this will cause assertions or crashes. However, we do need
to unref the input buffer whenever we don't pass it downstream. Also,
a non-OK flow return is not an error, so don't post error messages on
the bus - the pipeline may just be shutting down. Miscellaneous other
clean-ups and crack removal. Plenty of work left for those who feel
like it.
When sending the stream change message(s) to the demuxer, also include the
logical stream id along with the physical ID, so that the demuxer can remap
logical->physical MPEG stream ID.
Handle the new DVD commands, so that we can handle commands from a player
to change angle, jump to menus etc. Use the new GstNavigation event parsing
functions, instead of hand-rolled stuff.
Send GstNavigation notification messages when the mouse enters a button
or leaves it, so UI can turn the mouse cursor to a hand icon.
Make the highlights re-appear correctly when jumping back into menus
by making sure to set the flushing_seek flag for user-action initiated
seeks.
Fiddle some debug related to tracking down the issue.
Add a workaround for an apparent libdvdnav bug where it loses nav packets
during multiangle titles, and add some keypress bindings to switch the angle.
Add a 'fast-start' property to the rsndvdsrc element, that attempts to
jump directly to the DVD menu when starting. Doesn't work correctly on all
titles yet.
Add workarounds for issues with multiple angles in libdvdnav: Use a heuristic
to avoid detecting discontinuities during multiple-angle titles, it seems
caused by libdvdnav losing some NAV packets in multiangle titles. Fix
seeking in multi-angle titles by aligning our sector calculation logic
with libdvdnav's. Also, use libdvdnav's dvdnav_get_current_time() method
to determine the logical position of the current cell when it changes, as the
cell_start value in the cell_change event provides a number that doesn't
compensate for angle cell blocks.
Add a new connection mode to jacksrc and jacksink. In this new auto-force
connection mode jack will create as many ports as requested/needed in the
pipeline and will then connect as many physical ports as possible, possibly
leaving some ports unconnected.
Also get rid of some leftover g_print.
Fixes#575284.
Sprinkle more debug log statements into the code. Move some repeaded string
constant into header files and use sizeof instead of manually counted bytes. Add
comments.
First do not build the plugin, if we have none of the backend, as it won't work
then. Fix the miniobject_unref error in the test. Sprinkle a first handful of
debug logs into the element code.
Use glib defines for searchpath separators. Filter searchpath to avoid scanning
path entries twice. Fix the return in ladspa_plugin_directory_search to return
wheter we found a plugin.
Move the two function from search.c into gstladspa.c and make them static.
Remove non needed arguments from function prototypes. Use glib api for
simplicity and portability.
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.
Original commit message from CVS:
* configure.ac:
Check for libdvdnav to build resindvd.
* ext/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/resindvd/gstmpegdefs.h:
* ext/resindvd/gstmpegdemux.c:
* ext/resindvd/gstmpegdemux.h:
* ext/resindvd/gstmpegdesc.c:
* ext/resindvd/gstmpegdesc.h:
* ext/resindvd/gstpesfilter.c:
* ext/resindvd/gstpesfilter.h:
* ext/resindvd/plugin.c:
* ext/resindvd/resin-play:
* ext/resindvd/resindvdbin.c:
* ext/resindvd/resindvdbin.h:
* ext/resindvd/resindvdsrc.c:
* ext/resindvd/resindvdsrc.h:
* ext/resindvd/rsnaudiomunge.c:
* ext/resindvd/rsnaudiomunge.h:
* ext/resindvd/rsnbasesrc.c:
* ext/resindvd/rsnbasesrc.h:
* ext/resindvd/rsnpushsrc.c:
* ext/resindvd/rsnpushsrc.h:
* ext/resindvd/rsnstreamselector.c:
* ext/resindvd/rsnstreamselector.h:
First commit of DVD-Video playback component 'rsndvdbin'
and helper elements.
Use --enable-experimental for now, but feel free to give it a
try using the resin-play script.
* gst/dvdspu/gstdvdspu.c:
Add some extra guards for malformed events.
Original commit message from CVS:
* ext/dc1394/gstdc1394.c:
* ext/ivorbis/vorbisdec.c:
* ext/jack/gstjackaudiosink.c:
* ext/metadata/gstmetadatademux.c:
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
* gst-libs/gst/app/gstappsink.c:
* gst/bayer/gstbayer2rgb.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/rawparse/gstaudioparse.c:
* gst/rawparse/gstvideoparse.c:
* gst/rtpmanager/gstrtpbin.c:
* gst/rtpmanager/gstrtpclient.c:
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/rtpmanager/gstrtpptdemux.c:
* gst/rtpmanager/gstrtpsession.c:
* gst/rtpmanager/gstrtpssrcdemux.c:
* gst/selector/gstinputselector.c:
* gst/selector/gstoutputselector.c:
* gst/videosignal/gstvideoanalyse.c:
* gst/videosignal/gstvideodetect.c:
* gst/videosignal/gstvideomark.c:
* sys/oss4/oss4-mixer.c:
* sys/oss4/oss4-sink.c:
* sys/oss4/oss4-source.c:
Do not use short_description in section docs for elements. We extract
them from element details and there will be warnings if they differ.
Also fixing up the ChangeLog order.
Original commit message from CVS:
Patch by: Sebastien Merle <sylane at gmail dot com>
* ext/amrwb/gstamrwbdec.c: (gst_amrwbdec_chain):
Fix the sign of the data we pass to the decoder so that the decoder
compiles with newer reference code as well. Fixes#528618.
Original commit message from CVS:
Based on a patch by: Sonicadvance1 at GMAIL dot COM
* ext/timidity/gstwildmidi.c: (gst_wildmidi_init),
(gst_wildmidi_change_state), (plugin_init):
* ext/timidity/gstwildmidi.h:
Initialize wildmidi only once in the plugin init function instead
of once for every instance. The second and following calls to the
wildmidi initialization function will fail. Fixes bug #525613.
Also don't register the element at all if wildmidi initialization
fails.
Original commit message from CVS:
* ext/x264/gstx264enc.c: (gst_x264_enc_header_buf),
(gst_x264_enc_sink_event), (gst_x264_enc_chain),
(gst_x264_enc_encode_frame):
Try harder not to crash when we get an EOS event but haven't set
up the encoder yet (as may happen when upstream errors out with
not-negotiated, for example). Also, always push the EOS event
downstream.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_dispose), (clear_queued),
(flush_queued), (gst_faad_drain), (gst_faad_do_raw_seek),
(gst_faad_src_event), (gst_faad_sink_event), (gst_faad_chain),
(gst_faad_change_state):
* ext/faad/gstfaad.h:
Add basic reverse playback support.
Clear decoder state after disconts.
Remove some unused code.
Mark output buffers with a discont after a decoding error.
Original commit message from CVS:
* configure.ac:
Require CVS core and base for new audio clock reset method.
* ext/alsaspdif/alsaspdifsink.c: (alsaspdifsink_change_state):
Reset the audio clock. See #521761.
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c:
(gst_jack_audio_sink_allocate_channels):
Include the element name in the port name to avoid duplicate port names.
Original commit message from CVS:
Patch by: Bastien Nocera <hadess at hadess dot net>
* ext/mythtv/gstmythtvsrc.c: (gst_mythtv_src_class_init),
(gst_mythtv_src_init), (gst_mythtv_src_clear),
(do_read_request_response), (gst_mythtv_src_create),
(gst_mythtv_src_start):
Correctly set duration to get a more correct seek bar in totem.
Disable query and event functions as they don't work and do some
smaller cleanup.
Fixes bug #533736.
Original commit message from CVS:
* ext/timidity/gstwildmidi.c: (wildmidi_open_config):
Check some more common locations for a valid configuration file.
Fixes bug #533435. Packagers should still #define WILDMIDI_CFG
to the distributions default location.
Original commit message from CVS:
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/soundtouch/gstbpmdetect.cc:
Cast NULL sentinels to void * as NULL is defined as an integer
constant in most environments when using C++ and it's size might
be different from a pointer.
Original commit message from CVS:
* configure.ac:
* ext/musepack/gstmusepackdec.c: (gst_musepackdec_base_init),
(gst_musepackdec_init), (gst_musepackdec_dispose),
(gst_musepackdec_handle_seek_event), (gst_musepack_stream_init),
(gst_musepackdec_loop), (plugin_init):
* ext/musepack/gstmusepackdec.h:
* ext/musepack/gstmusepackreader.c:
* ext/musepack/gstmusepackreader.h:
Add support for the new libmpcdec API which magically gets us support
for SV8 files. Also do some random cleanup. Fixes bug #526905.
Original commit message from CVS:
* ext/timidity/Makefile.am:
Dist all source files, no matter if only timidity or wildmidi or
nothing is found by configure. Fixes bug #528000.
Original commit message from CVS:
* ext/dirac/gstdiracenc.cc:
Fix compilation by casting string constants.
* sys/Makefile.am:
Fix WININET_DIR variable reference.
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c: (gst_jack_audio_sink_class_init):
Work around missing bits of thread-safety on older GLibs some
more to avoid assertions when starting up multiple playbin
objects concurrently (see #512382).
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* ext/soup/gstsouphttpsrc.c: (gst_soup_http_src_response_cb):
Only ignore actual redirects not all responses when in state
GST_SOUP_HTTP_SRC_SESSION_IO_STATUS_RUNNING. Fixes bug #526337.
Original commit message from CVS:
Patch by: kapil <kapil at fluendo dot com>
* ext/gsm/gstgsmdec.c: (gst_gsmdec_sink_setcaps),
(gst_gsmdec_chain):
* ext/gsm/gstgsmdec.h:
Increase the allowed samplerates for the ms-gsm format.
Fixes#481354.
Original commit message from CVS:
* ext/soup/gstsouphttpsrc.c: (gst_soup_http_src_got_headers_cb),
(gst_soup_http_src_chunk_allocator),
(gst_soup_http_src_got_chunk_cb),
(gst_soup_http_src_uri_get_protocols):
Don't autoplug souphttpsrc for dav/davs. This is better handled by
GIO and GnomeVFS as they provide authentication.
Don't leak the icy caps if we already set them and get a new
icy-metaint header.
Try harder to set the icy caps on the output buffer to have correct
caps for the first buffer already.
* tests/check/elements/souphttpsrc.c: (got_buffer),
(GST_START_TEST):
Check that we get a buffer with application/x-icy caps if iradio-mode
is enabled and we have an icecast URL.
Original commit message from CVS:
* ext/soup/gstsouphttpsrc.c: (gst_soup_http_src_chunk_allocator):
Actually set the icy caps on our src pad if we have icecast data.
Fixes bug #523854.
Original commit message from CVS:
* configure.ac:
Check if the compiler supports do { } while (0) macros. This fixes
a warning when compiling with g++ 4.3, resulting in a build failure
because of -Werror.
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
* ext/mplex/gstmplex.cc:
Include <string.h> for memcpy and friends to fix the build with
gcc 4.3.
* tests/check/Makefile.am:
Remove trailing backslash.
Original commit message from CVS:
* ext/ofa/gstofa.c: (create_fingerprint), (gst_ofa_event),
(gst_ofa_transform_ip), (plugin_init):
Improve debugging, clean up a bit and really generate the fingerprint
after 135 seconds.
Original commit message from CVS:
Based on a patch by: Eric Buehl <eric dot buehl at gmail dot com>
* configure.ac:
* ext/ofa/Makefile.am:
* ext/ofa/gstofa.c: (gst_ofa_base_init), (gst_ofa_finalize),
(gst_ofa_class_init), (create_fingerprint), (gst_ofa_event),
(gst_ofa_init), (gst_ofa_transform_ip), (gst_ofa_get_property),
(plugin_init):
* ext/ofa/gstofa.h:
Add an OFA element, the successor of MusicBrainz TRM fingerprinting.
Fixes bug #351309.
Original commit message from CVS:
2008-03-18 Andy Wingo <wingo@pobox.com>
* ext/faad/gstfaad.c (gst_faad_chain): Fix a bad format argument,
and a potential int overflow.
* ext/faad/gstfaad.h: Include <neaacdec.h> if faad is neaac.
Avoids a #warning about an ignored #pragma.
Original commit message from CVS:
* ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_class_init),
(gst_neonhttp_src_send_request_and_redirect):
Handle HTTP status code 303 (See Other) the same way
as 302 (Found). Not sure what to do about all the other 3xx
redirect status codes. Fixes bug #522884.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (gst_soup_http_src_init),
(gst_soup_http_src_finished_cb), (gst_soup_http_src_response_cb),
(gst_soup_http_src_build_message), (gst_soup_http_src_create):
* ext/soup/gstsouphttpsrc.h:
Try to resume on server disconnect. Fixes bug #522134.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* ext/faad/gstfaad.c: (looks_like_valid_header):
Improve the header checking to look for what faad2 looks
for too. Fixes playback of same apple trailers.
Fixes bug #469979.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be>
* configure.ac:
Clean up detection of different mjpegtoolsAPI versions.
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/mpeg2enc/gstmpeg2enc.hh:
* ext/mpeg2enc/gstmpeg2encoder.cc:
* ext/mpeg2enc/gstmpeg2encoptions.cc:
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
* ext/mpeg2enc/gstmpeg2encpicturereader.hh:
* ext/mpeg2enc/gstmpeg2encstreamwriter.cc:
* ext/mpeg2enc/gstmpeg2encstreamwriter.hh:
Streamline conditional code for evolving mjpegtools API,
optimize and fix/prevent crash in log handling, use
names/nicks for enums in the usual way andm inor updates
in code and properties/settings. Partially fixes bug #520329.
Original commit message from CVS:
Map Date-Time and GPS tags and Convert from EXIF to XMP Datatime as local time (those changes has been done in previous comit but had to be revert in 2008-02-10 due to frozen)
Original commit message from CVS:
Patch by: Daniel Fischer <dan at f3c dot com>
* configure.ac:
* ext/dc1394/gstdc1394.c: (gst_dc1394_change_state),
(gst_dc1394_get_cam_caps), (gst_dc1394_open_cam_with_best_caps):
* ext/dc1394/gstdc1394.h:
Add support for libdc1394 2.0.0 and above and require this version
now. Fixes bug #514964.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (gst_soup_http_src_class_init),
(gst_soup_http_src_init), (gst_soup_http_src_dispose),
(gst_soup_http_src_set_property), (gst_soup_http_src_get_property),
(gst_soup_http_src_create):
* ext/soup/gstsouphttpsrc.h:
* tests/check/elements/souphttpsrc.c: (run_test), (GST_START_TEST),
(souphttpsrc_suite):
Add support for specifying a list of cookies to be passed in
the HTTP request. Fixes bug #518722.
Original commit message from CVS:
* configure.ac:
* ext/timidity/gsttimidity.c: (plugin_init):
* ext/timidity/gstwildmidi.c: (plugin_init):
Remove midi typefinders and require base CVS as they moved there.
Original commit message from CVS:
Patch by: Emilio Pozuelo Monfort <pochu at ubuntu dot com>
* ext/Makefile.am:
Build the wildmidi plugin if it's enabled and not only when
both, the timidity and wildmidi plugin, are enabled.
Original commit message from CVS:
* configure.ac:
* ext/mpeg2enc/Makefile.am:
* ext/soundtouch/Makefile.am:
* gst/modplug/Makefile.am:
Check for and define ERROR_CXXFLAGS and GST_CXXFLAGS and use them
when building C++ code.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* configure.ac:
* ext/soup/gstsouphttpsrc.c: (gst_soup_http_src_cancel_message),
(gst_soup_http_src_finished_cb), (gst_soup_http_src_chunk_free),
(gst_soup_http_src_chunk_allocator),
(gst_soup_http_src_got_chunk_cb), (gst_soup_http_src_create),
(gst_soup_http_src_start), (gst_soup_http_src_set_proxy):
* ext/soup/gstsouphttpsrc.h:
Implement zero-copy and make the buffer size configurable.
Prefix proxy URIs with "http://" if they don't start with it
already and catch errors earlier, fixes hanging in some situations.
Fixes bug #514948.
Original commit message from CVS:
* ext/mythtv/gstmythtvsrc.c: (gst_mythtv_src_create):
Don't allocate and copy the data to a new place but instead
put the data from gmyth (which we own) into the buffers that
are passed downstream.
Original commit message from CVS:
Based on a patch by:
Hans de Goede <j dot w dot r dot degoede at hhs dot nl>
* configure.ac:
* ext/mpeg2enc/gstmpeg2enc.cc:
Remove hack to work with mjpegtools 1.9.0rc3 and above and instead
use mjpeg_loglev_t() for getting the log levels. Check for this
function in configure.ac as the pkg-config file doesn't tell us
which release candidate we have. Fixes bug #517896.
Original commit message from CVS:
2008-02-20 Bastien Nocera <hadess@hadess.net>
* ext/mythtv/gstmythtvsrc.c: (gst_mythtv_src_do_seek),
(gst_mythtv_src_start): Using the wrong GstFormat for the filesize,
and fail seek properly on anything but _BYTES format
Fixes bug #517684
Original commit message from CVS:
* ext/metadata/Makefile.am:
Don't install a header file. We will have to merge these
tags into libgsttag after the release and use them from there.
Fixes: #515860
Original commit message from CVS:
* ext/xvid/gstxvidenc.c:
* gst/vmnc/vmncdec.c:
* sys/glsink/glimagesink.c:
* sys/glsink/gstgldisplay.c:
Fix some finalize leaks by chaining up to the parent method.
Original commit message from CVS:
* ext\neon\gstneonhttpsrc.c:
Include unistd.h only if _HAVE_UNISTD_H is defined
* gst\mpegvideoparse\mpegvideoparse.c:
Use G_GUINT64_CONSTANT GLIB macro for constant
* sys\dshowsrcwrapper\gstdshowaudiosrc.c:
* sys\dshowsrcwrapper\gstdshowvideosrc.c:
* sys\dshowdecwrapper\gstdshowaudiodec.c:
* sys\dshowdecwrapper\gstdshowaudiodec.h:
* sys\dshowdecwrapper\gstdshowdecwrapper.c:
* sys\dshowdecwrapper\gstdshowdecwrapper.h:
* sys\dshowdecwrapper\gstdshowvideodec.c
* sys\dshowdecwrapper\gstdshowvideodec.h:
Add a DirectShow decoder wrapper.
* win32\MANIFEST:
Add new win32 files to MANIFEST
* win32\vs6\gst_plugins_bad.dsw:
* win32\vs6\libgstdshow.dsp:
* win32\vs6\libgstdshowdecwrapper.dsp:
* win32\vs6\libgstflv.dsp:
Add new projects to bad workspace
Original commit message from CVS:
* configure.ac:
The dc1394 plugin seems to use API that was removed or changed
before the final 2.0.0 release, so only build it if 2.0.0-rc5
is available. Someone needs to port it to the final API.
* ext/dc1394/gstdc1394.c: (gst_dc1394_change_camera_transmission):
Include string.h for memcpy and use g_usleep instead of usleep.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (gst_soup_http_src_got_chunk_cb),
(gst_soup_http_src_create):
Fix memory leak and improve debugging a bit.
Original commit message from CVS:
* ext/ladspa/gstladspa.c: (gst_ladspa_base_init),
(gst_ladspa_class_init), (ladspa_describe_plugin), (plugin_init):
Don't use GST_BOILERPLATE as the stuff generated from it is not used
anyway and can't be used.
Store the class struct of the correct type in parent_class.
Pass the LADSPA_Descriptor as class_data to the class_init function
as preparation for the time, when we can add pad templates and friends
in class_init and add a FIXME for that.
Don't use a custom hash table for passing the LADSPA_Descriptors to
base_init but use g_type_set_qdata and g_type_get_qdata.
Original commit message from CVS:
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
Really fix the build.
TODO : Apply spankOmatic2000 on thaytan's rear end.
Original commit message from CVS:
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
(GstMpeg2EncPictureReader.StreamPictureParams):
Fix compilation with libmjpegtools 1.8.x.
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c:
(gst_signal_processor_class_add_pad_template):
Don't unref the pad template after adding it.
gst_element_class_add_pad_template takes ownership of it.
Original commit message from CVS:
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
Use the incoming pixel-aspect-ratio if provided to infer a
default aspect ratio, which can be overridden using the 'aspect'
property.
Fixes: #499008
Original commit message from CVS:
* ext/metadata/gstmetadatademux.c:
Demote metadatademux to GST_RANK_NONE for the release, it's not
ready to be autoplugged yet.
* tests/icles/metadata_editor.c:
Fix printf format warning for GType on ppc32 by removing it,
since it doesn't make sense to print the GType value anyway.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_chanpos_to_gst):
Fix compiler warning by making the function signature match what
everyone is passing in...
* tests/icles/Makefile.am:
Fix the build on Solaris by removing GNU ld specific flags that
look unnecessary.
Original commit message from CVS:
* configure.ac:
* ext/metadata/metadataxmp.c:
(metadatamux_xmp_for_each_tag_in_list):
Fix build with exempi >= 1.99.5 and fix the include
path for exempi.
Original commit message from CVS:
* ext/gio/gstgiobasesink.c: (close_stream_cb),
(gst_gio_base_sink_stop), (gst_gio_base_sink_event),
(gst_gio_base_sink_render), (gst_gio_base_sink_set_stream):
* ext/gio/gstgiobasesrc.c: (close_stream_cb),
(gst_gio_base_src_stop), (gst_gio_base_src_create),
(gst_gio_base_src_set_stream):
Use async variants of the close stream functions to prevent blocking
for a long time there and add some more sanity checks for a correct
stream.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (gst_souphttp_src_init):
Let the proxy property default to the content of the $http_proxy
environment variable.
Original commit message from CVS:
* ext/mpeg2enc/gstmpeg2enc.cc:
Define LOG_NONE and friends if they're not defined yet. mjpegtools
1.9.0rc3 removed their definitions but without it doesn't make much
sense to write a log handler.
Original commit message from CVS:
* ext/soundtouch/gstbpmdetect.cc:
Clean up a bit and only allocate a temporary buffer for the data
if processing stereo data as BPMDetect downmixes from stereo to
mono and stores the result in the input data. Thanks to
Stefan Kost for the suggestions.
Original commit message from CVS:
* ext/soundtouch/gstpitch.cc:
* ext/soundtouch/gstpitch.hh:
Implement LATENCY query and notify about latency changes.
Unfortunately we don't have a fixed latency but it changes
a bit with each buffer so we only send an LATENCY event with
the maximum latency if it changes.
Always calculate the timestamp, duration, etc from the sample
rate instead of using a pre-calculated duration for one sample
to prevent large rounding errors.
Original commit message from CVS:
Based on a patch by:
Hans de Goede <j dot w dot r dot degoede at hhs dot nl>
* configure.ac:
* ext/mpeg2enc/gstmpeg2encoder.cc:
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
* ext/mpeg2enc/gstmpeg2encpicturereader.hh:
Add support for building against mjpegtools 1.9 while keeping
compatiblity with older versions.
Original commit message from CVS:
* ext/soundtouch/Makefile.am:
* ext/soundtouch/gstbpmdetect.cc:
* ext/soundtouch/gstbpmdetect.hh:
* ext/soundtouch/plugin.c: (plugin_init):
Add BPM detection plugin based on SoundTouch's libBPM.
* ext/soundtouch/gstpitch.cc:
Allow sample rates until MAX instead of only 48kHz and remove the
buffer-frames field from that caps.
Clear the remaining samples completely when necessary to get into
a clean state again.
Original commit message from CVS:
* ext/soundtouch/gstpitch.cc:
Allow seeking only in TIME and DEFAULT format, other formats will
not work as expected. Also handle a stop position of -1 correctly
for seeks, newsegment events and the queries. This fixes playback
with the pitch element if upstream doesn't know the duration or has
-1 as stop position in NEWSEGMENT events for other reasons. Before
simply nothing was played as the segment was going from 0 to 0.
Send a GST_MESSAGE_DURATION whenever the rate or tempo is changed
so applications can update their cached duration. Fixes bug #503308.
Some random cleanup and memory leak closing.
Original commit message from CVS:
* ext/musepack/gstmusepackdec.h:
* ext/musepack/gstmusepackreader.c:
First include the libmpcdec headers before everything else as they
#define TRUE and FALSE unconditionally and we otherwise get conflicts
with the ones that GLib defines.
Original commit message from CVS:
* configure.ac:
* ext/soundtouch/gstpitch.cc:
Add support for libsoundtouch 1.3.1 and add an ugly workaround for
the header definined PACKAGE and other variables for which we need
our own values from config.h.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
* docs/plugins/gst-plugins-bad-plugins.interfaces:
* docs/plugins/gst-plugins-bad-plugins.prerequisites:
* docs/plugins/gst-plugins-bad-plugins.signals:
Now we have full hierarchy.
* docs/plugins/inspect/plugin-metadata.xml:
Regenerate.
* ext/amrwb/gstamrwbdec.h:
Add doc blob for object instance.
Original commit message from CVS:
* configure.ac:
* ext/dts/gstdtsdec.c:
Add support for building against libdca (with the libdts compat
header). Fixes bug #511530.
Should probably be ported to libdca as some points as it's the
successor of libdts.
Original commit message from CVS:
* docs/plugins/Makefile.am:
Add missing eol \
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
Place object names to standard sectionas plugin dont document those.
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-dvb.xml:
* docs/plugins/inspect/plugin-nuvdemux.xml:
regenerate.
* ext/ivorbis/vorbisdec.c:
* ext/ivorbis/vorbisdec.h:
Mark private vars and add short desc.
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
Add short desc.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* ext/theora/theoradec.c:
* ext/theora/theoradec.h:
Coherent namespace usage and adding symbold from unused to sections.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (soup_got_headers):
Report the size of the stream as the total size instead of
the remaining Content-Length, which is wrong after a seek.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (soup_got_headers):
Correctly set duration on the GstBaseSrc segment when we know it
to fix failing the duration query.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (gst_souphttp_src_class_init),
(gst_souphttp_src_init), (gst_souphttp_src_create),
(gst_souphttp_src_is_seekable), (gst_souphttp_src_do_seek),
(soup_add_range_header), (soup_got_headers), (soup_got_chunk):
* ext/soup/gstsouphttpsrc.h:
Add support for seeking to souphttpsrc. Fixes bug #502335.
Original commit message from CVS:
* ext/directfb/Makefile.am:
Add GST_CFLAGS. Otherwise we don't get -Wall -Werror.
* ext/directfb/dfbvideosink.c:
Getting tired of directfb's chatter. Quiet it.
Original commit message from CVS:
* configure.ac:
* ext/gio/gstgiobasesrc.c: (gst_gio_base_src_get_size):
* tests/check/pipelines/gio.c: (free_input), (GST_START_TEST):
Update to GMemoryInputStream API changes in GLib SVN and require
gio-2.0 >= 2.15.1 for this. Fixes bug #507584.
We can also report the duration for every GSeekable, not only
GFileInputStream and GMemoryInputStream.
Original commit message from CVS:
* ext/musicbrainz/gsttrm.c:
Don't emit signiture when going to READY, because it might
not be ready.
* ext/nas/nassink.c:
Remove useless call that sleeps for 5 seconds. Yup, it calls
sleep(1) 5 times. Go NAS.
* gst/librfb/gstrfbsrc.c:
* gst/librfb/rfbdecoder.c:
Initialize our debug categories properly.
* gst/rawparse/gstrawparse.c:
Don't register element details for a non-element. Be much more
rude when subclass doesn't set a pad template (assert!). Don't
unref the pad template; we don't own it.
* gst/videosignal/gstvideoanalyse.c:
Initialize debug category.
* tests/check/Makefile.am:
Ignore nassink element in tests because it has unavoidable
long timeouts.
Original commit message from CVS:
* ext/ladspa/gstladspa.c: (gst_ladspa_get_property):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_show_frame):
* gst/mve/gstmvemux.c: (gst_mve_mux_request_new_pad):
* sys/dvb/dvbbasebin.c: (dvb_base_bin_class_init):
Fix 'xyz may be used uninitialized' compiler warnings caused
by broken g_assert_not_reached() macro in GLib-2.15.x and don't
abort() in any case but properly report the error.
Original commit message from CVS:
* ext/soup/Makefile.am:
* ext/soup/gstsouphttpsrc.c: (gst_souphttp_src_get_property),
(gst_souphttp_src_unicodify), (soup_got_headers):
Use gst_tag_freeform_string_to_utf8() and post radio station
info as tags on the bus.
Original commit message from CVS:
* ext/dts/gstdtsdec.c: (gst_dtsdec_init),
(gst_dtsdec_sink_setcaps), (gst_dtsdec_chain_raw),
(gst_dtsdec_chain):
* ext/dts/gstdtsdec.h:
Add support for "audio/x-private1-dts" as used by flupsparse. Most
changes adapted from a52dec.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (_do_init),
(gst_souphttp_src_class_init), (gst_souphttp_src_init),
(gst_souphttp_src_dispose), (gst_souphttp_src_set_property),
(gst_souphttp_src_get_property), (unicodify),
(gst_souphttp_src_unicodify), (gst_souphttp_src_create),
(gst_souphttp_src_start), (gst_souphttp_src_stop),
(gst_souphttp_src_unlock), (gst_souphttp_src_unlock_stop),
(gst_souphttp_src_get_size), (gst_souphttp_src_is_seekable),
(soup_got_headers), (soup_got_body), (soup_finished),
(soup_got_chunk), (soup_response), (soup_parse_status),
(gst_souphttp_src_uri_get_type),
(gst_souphttp_src_uri_get_protocols),
(gst_souphttp_src_uri_get_uri), (gst_souphttp_src_uri_set_uri),
(gst_souphttp_src_uri_handler_init):
* ext/soup/gstsouphttpsrc.h:
Do not try to unpause I/O in the "queued" state.
Reorganise a bunch of things and cleanups.
Uses G_GUINT64_FORMAT instead of hard-coding %llu.
See #502335.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* configure.ac:
Bump libsoup requirement as libsoup does not support async client
operation prior to version 2.2.104 and it has some leaks.
* ext/soup/gstsouphttpsrc.c: (gst_souphttp_src_class_init),
(gst_souphttp_src_init), (gst_souphttp_src_dispose),
(gst_souphttp_src_set_property), (gst_souphttp_src_create),
(gst_souphttp_src_start), (gst_souphttp_src_stop),
(gst_souphttp_src_unlock), (gst_souphttp_src_unlock_stop),
(gst_souphttp_src_get_size), (soup_got_headers), (soup_got_body),
(soup_finished), (soup_got_chunk), (soup_response),
(soup_session_close):
* ext/soup/gstsouphttpsrc.h:
Implement unlock().
Picks up the size from the Content-Length header and emit a duration
message.
Don't leak the GMainContext object.
Fixes#500099.
Original commit message from CVS:
* ext/alsaspdif/alsaspdifsink.c: (alsaspdifsink_set_caps),
(alsaspdifsink_get_time), (alsaspdifsink_set_params),
(alsaspdifsink_find_pcm_device):
Don't free uninitialized data when we are in error.
Original commit message from CVS:
* ext/faac/gstfaac.c: (gst_faac_sink_event):
Don't try to flush the decoder on EOS when it was not initialized.
Fixes#498667
Original commit message from CVS:
2007-11-21 Julien Moutte <julien@fluendo.com>
* ext/sdl/sdlaudiosink.c: (gst_sdlaudio_sink_write): Fix build
on Mac OS X. (missing format parameter)
Original commit message from CVS:
Patch by: Michael Kötter <m dot koetter at oraise dot de>
* ext/alsaspdif/alsaspdifsink.c: (alsaspdifsink_set_caps),
(alsaspdifsink_get_time), (alsaspdifsink_open),
(alsaspdifsink_set_params), (alsaspdifsink_delay), (plugin_init):
Fix sample rate and clocking.
Remove buffer_time and period_time as this seems to break on some
hardware. Fixes#485462.
Original commit message from CVS:
* ext/gio/gstgio.h:
Add macro to check if a stream supports seeking.
* ext/gio/Makefile.am:
* ext/gio/gstgiobasesink.c: (gst_gio_base_sink_base_init),
(gst_gio_base_sink_class_init), (gst_gio_base_sink_init),
(gst_gio_base_sink_finalize), (gst_gio_base_sink_start),
(gst_gio_base_sink_stop), (gst_gio_base_sink_unlock),
(gst_gio_base_sink_unlock_stop), (gst_gio_base_sink_event),
(gst_gio_base_sink_render), (gst_gio_base_sink_query),
(gst_gio_base_sink_set_stream):
* ext/gio/gstgiobasesink.h:
* ext/gio/gstgiobasesrc.c: (gst_gio_base_src_base_init),
(gst_gio_base_src_class_init), (gst_gio_base_src_init),
(gst_gio_base_src_finalize), (gst_gio_base_src_start),
(gst_gio_base_src_stop), (gst_gio_base_src_get_size),
(gst_gio_base_src_is_seekable), (gst_gio_base_src_unlock),
(gst_gio_base_src_unlock_stop), (gst_gio_base_src_check_get_range),
(gst_gio_base_src_create), (gst_gio_base_src_set_stream):
* ext/gio/gstgiobasesrc.h:
Refactor common GIO functions to GstGioBaseSink and GstGioBaseSrc
base classes that only require a GInputStream or GOutputStream to
work.
* ext/gio/gstgiosink.c: (gst_gio_sink_base_init),
(gst_gio_sink_class_init), (gst_gio_sink_init),
(gst_gio_sink_finalize), (gst_gio_sink_start):
* ext/gio/gstgiosink.h:
* ext/gio/gstgiosrc.c: (gst_gio_src_base_init),
(gst_gio_src_class_init), (gst_gio_src_init),
(gst_gio_src_finalize), (gst_gio_src_start):
* ext/gio/gstgiosrc.h:
Use the newly created base classes here.
* ext/gio/gstgio.c: (plugin_init):
* ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_base_init),
(gst_gio_stream_sink_class_init), (gst_gio_stream_sink_init),
(gst_gio_stream_sink_finalize), (gst_gio_stream_sink_set_property),
(gst_gio_stream_sink_get_property):
* ext/gio/gstgiostreamsink.h:
* ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_base_init),
(gst_gio_stream_src_class_init), (gst_gio_stream_src_init),
(gst_gio_stream_src_finalize), (gst_gio_stream_src_set_property),
(gst_gio_stream_src_get_property):
* ext/gio/gstgiostreamsrc.h:
Implement GstGioStreamSink and GstGioStreamSrc that have a property
to set the GInputStream/GOutputStream that should be used.
* tests/check/Makefile.am:
* tests/check/pipelines/.cvsignore:
* tests/check/pipelines/gio.c: (message_handler), (GST_START_TEST),
(gio_testsuite), (main):
Add unit test for giostreamsrc and giostreamsink.
Original commit message from CVS:
* ext/gio/gstgio.c: (plugin_init):
Remove nowadays unnecessary workaround for a crash.
* ext/gio/gstgiosink.c: (gst_gio_sink_finalize),
(gst_gio_sink_start), (gst_gio_sink_stop),
(gst_gio_sink_unlock_stop):
* ext/gio/gstgiosink.h:
* ext/gio/gstgiosrc.c: (gst_gio_src_finalize), (gst_gio_src_start),
(gst_gio_src_stop), (gst_gio_src_unlock_stop):
* ext/gio/gstgiosrc.h:
Make the finalize function safer, clean up everything that could stay
around.
Reset the cancellable instead of creating a new one after cancelling
some operation.
Don't store the GFile in the element, it's only necessary for creating
the streams.
Original commit message from CVS:
Changed kclass to "Parser/Extracter/Metadata", changed caps to "image/jpeg, tags-extract=true/false" and changed priority to GST_RANK_PRIMARY+1. Also, srcpad can only work in push mode until fixed to also work in pull mode.
Original commit message from CVS:
Created new plugin ('medadata') and element ('metadataparse') that extract metadata from images (look at bug #486659).
Original commit message from CVS:
* ext/faac/gstfaac.c: (gst_faac_profile_get_type),
(gst_faac_class_init), (gst_faac_init):
Fix bitrate ranges and change enum nick for low complexity
profile from LOW to LC for consistency (#490060).
Original commit message from CVS:
* configure.ac:
Require core CVS. This is implicit in the -base CVS
requirement already, so we might just well spell it
out. Also, we do need at least 0.10.14 for
gst_element_class_set_details_simple(). Make check
for gmyth a bit more restrictive so things don't break
if the next version changes API.
* ext/alsaspdif/alsaspdifsink.c:
Work around alsa alloca macros triggering 'always evaluates to
true' warnings with gcc-4.2 and fix compilation with gcc-4.2.
Also don't leak the device string.
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/soundtouch/gstpitch.cc:
* gst/modplug/gstmodplug.cc:
Fix compilation with g++4.2 and -Wall -Werror (also needs plugin
define fix from core CVS). Fixes#462737.
Original commit message from CVS:
* ext/gio/gstgio.c: (gst_gio_get_supported_protocols):
Use GIO function to get a list of supported URI schemes instead of
hard coding something.
Original commit message from CVS:
* ext/gio/gstgiosink.c: (gst_gio_sink_base_init),
(gst_gio_sink_set_property), (gst_gio_sink_render):
* ext/gio/gstgiosrc.c: (gst_gio_src_base_init),
(gst_gio_src_set_property):
Some minor cleanup and allow setting the location only when the
element is not playing or paused.
Original commit message from CVS:
* configure.ac:
Update gio's pkg-config file name as currently in SVN.
* ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_set_location):
Remove special casing for a NULL query string. g_strjoin won't add
the separator if there's only one string.
Original commit message from CVS:
* ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_set_proxy),
(gst_neonhttp_src_send_request_and_redirect):
Now that we require libneon >= 0.26 remove the neon 0.25 backward
compatibility stuff. Also fix the default location.
Original commit message from CVS:
* ext/xvid/gstxvidenc.c:
* ext/xvid/gstxvidenc.h:
Remove superfluous 'frame-encoded' signal (people can
use an upstream identity's 'handoff' signal or a pad
probe for this if they must know).
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
Update hierarchy.
* ext/gio/gstgiosink.h:
* ext/gio/gstgiosrc.h:
Mark private fields of the instance structs private.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
* configure.ac:
* ext/Makefile.am:
* ext/gio/Makefile.am:
* ext/gio/gstgio.c: (gst_gio_error), (gst_gio_seek),
(gst_gio_get_supported_protocols),
(gst_gio_uri_handler_get_type_sink),
(gst_gio_uri_handler_get_type_src),
(gst_gio_uri_handler_get_protocols), (gst_gio_uri_handler_get_uri),
(gst_gio_uri_handler_set_uri), (gst_gio_uri_handler_init),
(gst_gio_uri_handler_do_init), (plugin_init):
* ext/gio/gstgio.h:
* ext/gio/gstgiosink.c: (gst_gio_sink_base_init),
(gst_gio_sink_class_init), (gst_gio_sink_init),
(gst_gio_sink_finalize), (gst_gio_sink_set_property),
(gst_gio_sink_get_property), (gst_gio_sink_start),
(gst_gio_sink_stop), (gst_gio_sink_unlock),
(gst_gio_sink_unlock_stop), (gst_gio_sink_event),
(gst_gio_sink_render), (gst_gio_sink_query):
* ext/gio/gstgiosink.h:
* ext/gio/gstgiosrc.c: (gst_gio_src_base_init),
(gst_gio_src_class_init), (gst_gio_src_init),
(gst_gio_src_finalize), (gst_gio_src_set_property),
(gst_gio_src_get_property), (gst_gio_src_start),
(gst_gio_src_stop), (gst_gio_src_get_size),
(gst_gio_src_is_seekable), (gst_gio_src_unlock),
(gst_gio_src_unlock_stop), (gst_gio_src_check_get_range),
(gst_gio_src_create):
* ext/gio/gstgiosrc.h:
Add a GIO/GVFS plugin with source and sink elements. This will
only be enabled when --enable-experimental is given to configure
for now as the GIO API is not stable yet. Fixes#476916.
Original commit message from CVS:
* ext/alsaspdif/alsaspdifsink.c:
* ext/timidity/gsttimidity.c:
* ext/timidity/gstwildmidi.c:
* gst/mpegvideoparse/mpegvideoparse.c:
Fix memory leaks. More to come.
* tests/check/Makefile.am:
* tests/check/generic/states.c:
Improved state change unit test.
Original commit message from CVS:
Patch by: Jonathan Matthew <jonathan at kaolin wh9 net>
* ext/faad/gstfaad.c: (gst_faad_chanpos_to_gst),
(gst_faad_srcgetcaps), (gst_faad_update_caps):
Don't set channel positions on regular mono and stereo cases.
Fixes#476370.
Original commit message from CVS:
* ext/directfb/dfbvideosink.c: (gst_dfbvideosink_surface_destroy),
(gst_dfbsurface_class_init):
When finalizing GstDfbSurface, a subclass of GstBuffer, correctly
chain up to the parent class to free everything, including caps.
Original commit message from CVS:
Patch by: Daniel Charles <dcharles at ti dot com>
* ext/amrwb/gstamrwbenc.c: (gst_amrwbenc_bandmode_get_type),
(gst_amrwbenc_set_property), (gst_amrwbenc_get_property),
(gst_amrwbenc_class_init), (gst_amrwbenc_chain):
* ext/amrwb/gstamrwbenc.h:
Add property to control bandmode. Fixes#477306.
Original commit message from CVS:
Patch by: Thomas Green <tom78999 gmail com>
* ext/neon/gstneonhttpsrc.c:
With libneon 2.6, we need to set the NE_SESSFLAG_ICYPROTO
flag if we want ICY streams to be handled too, otherwise
libneon will error out with a 'can't parse reponse' error.
Fixes#474696.
* tests/check/elements/neonhttpsrc.c:
Unit test for the above by Yours Truly.
Original commit message from CVS:
Patch by: Bastien Nocera <hadess at hadess net>
* ext/mythtv/gstmythtvsrc.c:
Add examples for live mythtv:// URIs to docs (#468039).
Also convert some tabs into spaces.
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
patch by: <delete if not someone else's patch>
* ext/timidity/gstwildmidi.c:
* ext/timidity/gstwildmidi.h:
Original commit message from CVS:
* ext/timidity/gsttimidity.c: (gst_timidity_init),
(gst_timidity_change_state), (plugin_init):
* ext/timidity/gsttimidity.h:
Don't initialize timidity in plugin_init for similar reason as below.
Original commit message from CVS:
* ext/timidity/gstwildmidi.c: (wildmidi_open_config),
(gst_wildmidi_init), (gst_wildmidi_change_state), (plugin_init):
* ext/timidity/gstwildmidi.h:
Don't initialize wildmidi in plugin_init as it also setups audio
filters which is slow.
Original commit message from CVS:
* configure.ac:
* ext/faad/gstfaad.c: (gst_faad_chain), (gst_faad_change_state):
Use the new buffer clipping function from gstaudio here and
require gst-plugins-base CVS.
Original commit message from CVS:
* ext/soundtouch/gstpitch.cc:
If we receive a new segment event, don't try to push buffers out
in response (without first sending it on!).
Instead, flush internal buffers on receiving flush events.
Fixes playback after seeking.
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c: (gst_jack_ring_buffer_open_device),
(gst_jack_ring_buffer_acquire):
Add stdlib include here too.
Original commit message from CVS:
* ext/timidity/gsttimidity.c:
* ext/timidity/gstwildmidi.c:
* ext/timidity/gstwildmidi.h:
Fix licence (both are GPL). Add element docs.
Original commit message from CVS:
* ext/dc1394/gstdc1394.c: (gst_dc1394_src_fixate),
(gst_dc1394_create), (gst_dc1394_caps_set_format_vmode_caps),
(gst_dc1394_set_caps_framesize_range),
(gst_dc1394_caps_set_framerate_list), (gst_dc1394_get_cam_caps),
(gst_dc1394_framerate_frac_to_const),
(gst_dc1394_open_cam_with_best_caps):
Make a bunch of functions static, and move variable declarations
to the start of blocks to avoid problems on older gcc.
Make sure to unset value types.
Original commit message from CVS:
* ext/dc1394/gstdc1394.c: (gst_dc1394_set_caps_color):
The correct fourcc for the 4:1:1 packed format is 'IYU1'.
With CVS of ffmpegcolorspace from plugins-base, I can now
get 30 fps from the iSight.
Original commit message from CVS:
* ext/amrwb/gstamrwbdec.c: (gst_amrwbdec_base_init),
(gst_amrwbdec_class_init), (gst_amrwbdec_finalize),
(gst_amrwbdec_event), (gst_amrwbdec_chain),
(gst_amrwbdec_state_change):
* ext/amrwb/gstamrwbdec.h:
* ext/amrwb/gstamrwbparse.c: (gst_amrwbparse_base_init),
(gst_amrwbparse_pull_header), (gst_amrwbparse_loop):
Add newsegment and discont handling. Some code cleanups. Don't leak
the adapter, unref it in a new finalize method instead. Sync the
parser with the amr-nb changes.
Original commit message from CVS:
* ext/timidity/gsttimidity.c: (gst_timidity_loop):
* ext/timidity/gstwildmidi.c: (gst_wildmidi_loop):
* gst/tta/gstttaparse.c: (gst_tta_parse_loop):
When driving the pipeline, also post an error when we get a
not-linked flow return from downstream.
Original commit message from CVS:
Patch by René Stadler <mail at renestadler dot de>:
* ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_class_init),
(gst_neonhttp_src_init), (gst_neonhttp_src_dispose),
(gst_neonhttp_src_set_property), (gst_neonhttp_src_get_property),
(gst_neonhttp_src_start), (gst_neonhttp_src_do_seek),
(gst_neonhttp_src_set_location),
(gst_neonhttp_src_send_request_and_redirect),
(gst_neonhttp_src_uri_get_uri), (gst_neonhttp_src_uri_set_uri):
* ext/neon/gstneonhttpsrc.h:
Deprecated "uri" property. Clean up property descriptions.
Change default User-Agent to the slightly more descriptive
"GStreamer neonhttpsrc".
Various other small cleanups, mostly property related.
Original commit message from CVS:
* ext/libmms/gstmms.h:
No reason to use gpointers instead of typed pointes here as far as I
can see.
* ext/mythtv/gstmythtvsrc.c:
* ext/neon/gstneonhttpsrc.c:
* gst/switch/gstswitch.c:
Don't use gtk-doc magic markers for things that aren't meant to be
parsed by gtk-doc. Makes gtk-doc complain a bit less.
Original commit message from CVS:
Patch by René Stadler <mail at renestadler dot de>:
* ext/sdl/sdlvideosink.c:
Separate the authors by newlines instead of nothing. Fixes#440774.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_class_init),
(gst_wavpack_enc_set_property), (gst_wavpack_enc_get_property):
Specify and use properties as unsigned int that are an unsigned int.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_class_init),
(gst_wavpack_enc_init), (gst_wavpack_enc_set_wp_config),
(gst_wavpack_enc_set_property), (gst_wavpack_enc_get_property):
* ext/wavpack/gstwavpackenc.h:
Fixup docs, make the bitrate property an int as it should be and
allow to set the different extra processing modes instead of only
allowing none and the default one.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c:
Add missing audioconverts in the example pipelines of wavpackenc. As
the wavpack stuff now needs input with 32 bit width (and random depth)
this is needed now. The example pipelines for the parser and decoder
are still fine.
Original commit message from CVS:
* ext/x264/gstx264enc.c (gst_x264_enc_init_encoder):
This needs a version check.
* gst/bayer/Makefile.am:
Fix the build.
Original commit message from CVS:
* ext/wavpack/gstwavpack.c: (plugin_init):
Call bindtextdomain() to get localized strings.
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_reset),
(gst_wavpack_parse_handle_seek_event),
(gst_wavpack_parse_push_buffer), (gst_wavpack_parse_chain):
* ext/wavpack/gstwavpackparse.h:
Handle DISCONT buffers by correctly setting the DISCONT flag
on outgoing buffers when necessary.
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_handle_seek_event)
Send newsegment from the streaming thread.
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c:
(gst_wavpack_parse_handle_seek_event):
Remove old workaround that was needed when seeking after the last
sample. With the fixed error handling this works now as expected
without pushing the last sample although it wasn't requested.
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c:
(gst_wavpack_parse_handle_seek_event):
Handle segment seeks in the seek event handler, correctly work with
stop position == -1 and instead of stopping the task on seek just
pause it.
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_pull_buffer),
(gst_wavpack_parse_create_src_pad),
(gst_wavpack_parse_resync_loop), (gst_wavpack_parse_loop),
(gst_wavpack_parse_chain):
Correctly handle errors, especially in the loop function. Before it
was easy to get the task paused but no error being posted on the bus.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_open_decoder):
FAAD fails to decode low (e.g. 8 kHz) sample rate AAC data in
quicktime because of sample rate mismatches.
Reenable overriding the implicit SBR behaviour (accidently changed?)
to allow playback of these files.
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c: (gst_jack_ring_buffer_open_device),
(gst_jack_ring_buffer_acquire):
Try t better name clients. properly handle return codes when re-
establishing links.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset),
(gst_wavpack_dec_init), (gst_wavpack_dec_sink_set_caps),
(gst_wavpack_dec_clip_outgoing_buffer),
(gst_wavpack_dec_post_tags), (gst_wavpack_dec_chain):
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_reset),
(gst_wavpack_enc_sink_set_caps), (gst_wavpack_enc_set_wp_config),
(gst_wavpack_enc_chain):
* ext/wavpack/gstwavpackenc.h:
* ext/wavpack/gstwavpackparse.c:
Don't play audioconvert. As wavpack wants/outputs all samples with
width==32 and depth=[1,32] accept this and let audioconvert convert
to accepted formats instead of doing it in the element for n*8 depths.
This also adds support for non-n*8 depths and prevents some useless
memory allocations. Fixes#421598
Also add a workaround for bug #421542 in wavpackenc for now...
* tests/check/elements/wavpackdec.c: (GST_START_TEST):
* tests/check/elements/wavpackenc.c: (GST_START_TEST):
* tests/check/elements/wavpackparse.c: (GST_START_TEST):
Consider the change above in the unit tests and test if the correct
caps are accepted and set. Also check for GST_BUFFER_OFFSET_END in
the wavpackparse unit test.
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_init),
(gst_wavpack_dec_sink_set_caps):
Set caps on the src pad as soon as possible.
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackcommon.h:
* ext/wavpack/gstwavpackenc.h:
* ext/wavpack/gstwavpackparse.h:
Fix indention. gst-indent is now called by cicl.
Original commit message from CVS:
2007-03-27 Julien MOUTTE <julien@moutte.net>
* ext/xvid/gstxviddec.c: (gst_xviddec_chain): Add some
debug log and fix a stupid output buffer duration bug.
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_plugin_init):
Revert last commit, preventing infinite plugging loops with ranks
is no clean solution and in general there's no reason why one wants
to parse framed wavpack data again.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_push_block):
Send the new segment event in time format instead of bytes. This
allows "wavpackenc ! wavpackdec ! someaudiosink" pipelines.
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_plugin_init):
Accept framed and non-framed input, wavpackparse doesn't care. To
prevent "wavpackparse ! wavpackparse ! ..." pipelines lower the
rank of wavpackparse by one. This allows "wavpackenc ! wavpackparse !
..." pipelines.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
Revert to use gst_pad_alloc_buffer() here. We can and should use it.
Thanks to Jan and Mike for noticing my mistake.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_class_init),
(gst_wavpack_enc_init), (gst_wavpack_enc_chain),
(gst_wavpack_enc_rewrite_first_block):
* ext/wavpack/gstwavpackenc.h:
Put the write helpers into the GstWavpackEnc struct directly and not
as a pointer to save two small, but useless mallocs. This also makes
it possible to drop the finalize method.
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_push_buffer):
For consistency reasons also set GST_BUFFER_OFFSET_END on the outgoing
buffers the same way wavpackenc does it.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
Don't use gst_pad_alloc_buffer() as we might clip the buffer later and
BaseTransform-based elements will likely break because of wrong
unit-size. Also plug a possible memleak that happens when decoding
fails for some reason.
Original commit message from CVS:
Based on patch by: Paul Davis <paul at linuxaudiosystems dot com>
* ext/jack/gstjackaudioclient.c: (gst_jack_audio_unref_connection):
Don't need to take the connection lock, it will not be used and could
cause deadlocks.
Original commit message from CVS:
Includes patch by: Paul Davis <paul at linuxaudiosystems dot com>
* ext/jack/Makefile.am:
* ext/jack/gstjackaudioclient.c: (gst_jack_audio_client_init),
(jack_process_cb), (jack_sample_rate_cb), (jack_buffer_size_cb),
(jack_shutdown_cb), (connection_find),
(gst_jack_audio_make_connection), (gst_jack_audio_get_connection),
(gst_jack_audio_unref_connection),
(gst_jack_audio_connection_add_client),
(gst_jack_audio_connection_remove_client),
(gst_jack_audio_client_new), (gst_jack_audio_client_free),
(gst_jack_audio_client_get_client),
(gst_jack_audio_client_set_active):
* ext/jack/gstjackaudioclient.h:
Make an object to manage client connections to the jack server which we
will use in the future to run selected jack elements with the same jack
connection.
Make some stuff a bit more threadsafe.
Activate the jack client ASAP.
* ext/jack/gstjackaudiosink.c:
(gst_jack_audio_sink_allocate_channels),
(gst_jack_audio_sink_free_channels), (jack_process_cb),
(gst_jack_ring_buffer_open_device),
(gst_jack_ring_buffer_close_device),
(gst_jack_ring_buffer_acquire), (gst_jack_ring_buffer_release),
(gst_jack_audio_sink_class_init), (gst_jack_audio_sink_init),
(gst_jack_audio_sink_getcaps):
* ext/jack/gstjackaudiosink.h:
Use new client object to manage connections.
Don't remove and recreate all ports, try to reuse them.
Original commit message from CVS:
* ext/wavpack/gstwavpack.c: (plugin_init):
* ext/wavpack/gstwavpackcommon.c:
Use a general wavpack debug category for common code.
* ext/wavpack/gstwavpackstreamreader.c:
(gst_wavpack_stream_reader_set_pos_abs),
(gst_wavpack_stream_reader_set_pos_rel),
(gst_wavpack_stream_reader_write_bytes):
Use the general wavpack debug category here too and add debug
output to the functions that should not be called at all by
the wavpack library.
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_plugin_init):
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_plugin_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_plugin_init):
Change debugging category names to conform to the conventions.
Original commit message from CVS:
* ext/nas/nassink.c: (gst_nas_sink_class_init),
(gst_nas_sink_init), (gst_nas_sink_getcaps),
(gst_nas_sink_unprepare):
Some more cleanups/changes; use boilerplate macro.
Original commit message from CVS:
* ext/nas/Makefile.am:
* ext/nas/README:
* ext/nas/nassink.c: (gst_nas_sink_get_type),
(gst_nas_sink_base_init), (gst_nas_sink_class_init),
(gst_nas_sink_init), (gst_nas_sink_finalize),
(gst_nas_sink_getcaps), (gst_nas_sink_prepare),
(gst_nas_sink_unprepare), (gst_nas_sink_delay),
(gst_nas_sink_reset), (gst_nas_sink_write),
(gst_nas_sink_set_property), (gst_nas_sink_get_property),
(gst_nas_sink_open), (gst_nas_sink_close), (NAS_flush),
(NAS_sendData), (NAS_EventHandler), (gst_nas_sink_sink_get_format),
(NAS_createFlow), (plugin_init):
* ext/nas/nassink.h:
Bunch of nassink clean-ups: make build by adding the right CFLAGS
and LIBS to Makefile.am; rename structure, macros and functions
according to canonical naming scheme; move some things around a bit;
use GST_CAT_DEFAULT instead of GST_CAT_* everywhere; remove README
file that didn't really contain any useful information anyway (the
useful bits have been moved into the 'host' property description).
Original commit message from CVS:
* ext/dts/gstdtsdec.c: (gst_dtsdec_init), (gst_dtsdec_sink_event):
A few small clean-ups.
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_setcaps):
More debug output for failure cases.
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian net>
* ext/dts/gstdtsdec.c: (gst_dtsdec_handle_frame),
(gst_dtsdec_change_state):
Don't do forced downmixing to stereo, but check what downstream
can do and let libdts do the downmixing based on that (#400555).
Original commit message from CVS:
Patch by: Lutz Mueller <lutz topfrose de>
* ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_class_init),
(gst_neonhttp_src_init), (gst_neonhttp_src_set_property),
(gst_neonhttp_src_set_uri), (gst_neonhttp_src_set_proxy),
(gst_neonhttp_src_send_request_and_redirect),
(gst_neonhttp_src_uri_set_uri):
* ext/neon/gstneonhttpsrc.h:
Simplify _set_uri() and _set_proxy() and remove the unused ishttp
member (#388050).
* tests/check/elements/neonhttpsrc.c: (GST_START_TEST):
Fix bogus URI to something that actually exists, otherwise we just
bypass the test (and also to something that doesn't redirect, since
neonhttpsrc doesn't seem to handle this very gracefully yet)
Original commit message from CVS:
* configure.ac:
* docs/plugins/Makefile.am:
Add crossreferences to glib/gobject/gstream docs. Also fix typo in
timidity.cfg check.
* ext/timidity/gsttimidity.c: (plugin_init):
Also build if no config was detected at configure time.
Original commit message from CVS:
* configure.ac:
Tell the code which faad it is, so that we can adjust the hacks
needed.
* ext/faad/gstfaad.c:
Make our hacks dependent on the fadd lib in use.
Original commit message from CVS:
* ext/amrwb/gstamrwbparse.c: (gst_amrwbparse_query):
GST_PAD_PARENT doesn't return a GstObject with an incremented refcount.
Switched to using gst_pad_get_parent().
Original commit message from CVS:
2007-02-05 Andy Wingo <wingo@pobox.com>
* ext/sndfile/Makefile.am:
* ext/sndfile/gstsfsrc.h:
* ext/sndfile/gstsfsrc.c: Port sfsrc to 0.10, pull or push, with
random access woo.
Original commit message from CVS:
2007-02-02 Andy Wingo <wingo@pobox.com>
* configure.ac:
* ext/Makefile.am
* ext/sndfile/Makefile.am:
* ext/sndfile/gstsf.c:
* ext/sndfile/gstsf.h:
* ext/sndfile/gstsfsink.c:
* ext/sndfile/gstsfsink.h: Port sfsink to 0.10. Works in pull or
push mode with interleaved float or int data.
Original commit message from CVS:
* ext/alsaspdif/alsaspdifsink.c: (plugin_init):
Set rank to NONE so that it doesn't get autoplugged by autoaudiosink
(which didn't happen previously because the klass string didn't
contain anything autoaudiosink was looking for).
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_src_query),
(gst_wavpack_parse_handle_seek_event),
(gst_wavpack_parse_create_src_pad):
Fix a off by one that leads to the duration reported as one
sample less than it is
Original commit message from CVS:
* ext/ladspa/Makefile.am:
* ext/ladspa/gstladspa.c: (gst_ladspa_class_get_param_spec):
add GstController support to ladspa
Original commit message from CVS:
Patch by: Rosfran Borges <rosfran dot borges at idnt org br>
* ext/mythtv/gstmythtvsrc.c: (gst_mythtv_src_start),
(gst_mythtv_src_next_program_chain):
Remove sleep calls, they've been moved into the library now ...
(#354451).
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_src_query):
Fix the SEEKING query. We can seek if we are in pull mode, not the
other way around. Also set the correct format in the seeking query and
handle the case where the headers are not read yet and we can't say
anything about our seeking capabilities.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
Fix spelling in 2 places: It's called Wavpack, not WavePack.
Original commit message from CVS:
* ext/mythtv/gstmythtvsrc.c: (do_read_request_response),
(gst_mythtv_src_create), (gst_mythtv_src_get_position),
(gst_mythtv_src_do_seek), (gst_mythtv_src_start),
(gst_mythtv_src_next_program_chain), (gst_mythtv_src_get_size),
(gst_mythtv_src_handle_event), (gst_mythtv_src_handle_query),
(gst_mythtv_src_change_state), (gst_mythtv_src_set_property),
(gst_mythtv_src_uri_get_type):
Clean up a bit, mostly the debug statements; fix deadlock in
_set_property() in the error cases; fix up query function.
Original commit message from CVS:
2007-01-12 Andy Wingo <wingo@pobox.com>
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_fixate)
(gst_signal_processor_ouija_caps, gst_signal_processor_prepare):
Remove fixate/ouija stuff, thankfully, due to the new
part-negotiation.txt pull-mode negotiation scheme.
(gst_signal_processor_setcaps_pull)
(gst_signal_processor_setcaps): Implement upstream set_caps pull
proxying for pull mode. Now this works: ladspa-sine-fcac !
audioconvert ! alsasink.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo@circular-chaos.org>
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_mode_get_type),
(gst_wavpack_enc_correction_mode_get_type),
(gst_wavpack_enc_joint_stereo_mode_get_type):
Minor clean-up: use enum values instead of hardcoded constants (#395536).
Original commit message from CVS:
2007-01-06 Andy Wingo <wingo@pobox.com>
* ext/ladspa/gstsignalprocessor.c
(gst_signal_processor_ouija_caps): Move around in the source
file...
(gst_signal_processor_prepare, gst_signal_processor_do_pulls):
Call ouija_caps in prepare() instead of do_pulls(), a bit earlier.
This allows us to have caps when we do the pad_alloc_buffer().
(gst_pad_alloc_buffer_and_set_caps): Use self->caps instead of the
pad caps, which might not be set yet.
Original commit message from CVS:
2007-01-06 Andy Wingo <wingo@pobox.com>
* ext/ladspa/gstsignalprocessor.c:
(gst_signal_processor_add_pad_from_template)
(gst_signal_processor_fixate): Add a fixate function, to assist in
pathological ladspa-sine-fcac ! fakesink can-activate-pull=true
cases.
(gst_signal_processor_prepare, gst_signal_processor_process): Add
nframes args so that getrange can tell ladspa how many frames to
process.
(gst_signal_processor_ouija_caps): setcaps needs to be called
before processing, which normally happens when chaining a buffer
to a pad. However in getrange mode with no sinks we need to check
explicitly for this condition, guess some caps to use, and use
those to setcaps(). Hence this mystical function.
(gst_signal_processor_do_pulls): Pull in bytes, not samples.
Divine the caps if necessary.
(gst_signal_processor_getrange): Interpret the length as bytes,
not samples.
(gst_signal_processor_chain): nframes=G_MAXUINT, will be limited
by incoming buffer sizes.
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/ladspa/*:
Move LADPSA plugin from -good for the release, as it's not quite
ready to be enabled by default in the -good module yet.
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_setcaps),
(gst_signal_processor_event):
Reset flow_state back to _OK after a flush stop so that we exit our
error state after the flush. Fixes#374213
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.h:
Use local copy of md5.h, as it disappeared in recent wavpack
installs.
Patch by: Sebastian Dröge <slomo at ubuntu dot com>
Fixes: #387076
Original commit message from CVS:
* ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_create),
(send_request_and_redirect):
Fix minor mem leak in redirect code.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/neonhttpsrc.c: (handoff_cb),
(GST_START_TEST), (neonhttpsrc_suite):
* tests/check/gst-plugins-bad.supp:
Add super-basic unit test for #384140.
Original commit message from CVS:
* ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_create),
(send_request_and_redirect):
Set offset on buffers pushed out (id3demux gets confused if the
first buffer does not have an offset of 0). Fixes#384140.
Original commit message from CVS:
* ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_class_init),
(gst_neonhttp_src_create), (send_request_and_redirect),
(gst_neonhttp_src_start), (oom_callback):
Minor clean-ups; remove newlines at end of debug statements.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_src_event), (theora_handle_data_packet),
(theora_dec_chain):
Send events on the right pads, since they don't work very well if
you send them in the wrong direction.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo@circular-chaos.org>
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset),
(gst_wavpack_dec_init), (gst_wavpack_dec_change_state):
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_base_init),
(gst_wavpack_enc_class_init), (gst_wavpack_enc_reset),
(gst_wavpack_enc_init), (gst_wavpack_enc_set_wp_config),
(gst_wavpack_enc_change_state):
* ext/wavpack/gstwavpackparse.c:
Some small clean-ups: use enums instead of hard-coded numbers,
const-ify element details, re-factor some code into _reset()
functions (#352605).
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo at circular-chaos.org>
* configure.ac:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_mode_get_type),
(gst_wavpack_enc_correction_mode_get_type),
(gst_wavpack_enc_joint_stereo_mode_get_type),
(gst_wavpack_enc_init), (gst_wavpack_enc_set_wp_config):
Fix enum nicks; only emit no-more-pads once; add support for very
fast encoding mode in upcoming 4.40.0 release (#369539).
Original commit message from CVS:
* ext/dts/gstdtsdec.c: (gst_dtsdec_handle_frame):
Fix flow handling and buffer refcounting (gst_pad_push() takes
ownership of the buffer passed to it, the buffer does not have
to be unreffed no matter what flow value gst_pad_push() returns).
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_set_wp_config):
* ext/wavpack/gstwavpackparse.c:
(gst_wavpack_parse_create_src_pad):
* gst/nuvdemux/gstnuvdemux.c: (gst_nuv_demux_create_pads):
* tests/check/elements/wavpackparse.c: (wavpackparse_found_pad):
Activate pads before adding them to running element.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_setcaps), (gst_faad_chain),
(gst_faad_close_decoder):
Some cleanups.
Added some more debugging.
Don't ever ignore unlinked, we're not a demuxer.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream):
Activate pad before adding it to the element.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theoradec_reset),
(theora_get_query_types), (theora_dec_src_query),
(theora_dec_src_event), (theora_dec_sink_event),
(theora_handle_comment_packet), (theora_handle_type_packet),
(theora_handle_header_packet), (clip_buffer), (theora_dec_push),
(theora_handle_422_image), (theora_handle_420_image),
(theora_handle_data_packet), (theora_dec_chain),
(theora_dec_change_state):
* ext/theora/theoradec.h:
Port lots of changes from theoradec to theoraexpdec.
This catches this plugin up to theoradec. Note that duplicate frames
are broken in theoradec at the moment.
Original commit message from CVS:
* ext/xvid/gstxvid.c: (plugin_init):
Set rank of xviddec to NONE until someone fixes it (too many crasher
bug reports against totem, people should use gst-ffmpeg).
Original commit message from CVS:
* ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init),
(gst_cdaudio_init), (gst_cdaudio_set_property),
(gst_cdaudio_get_property), (gst_cdaudio_change_state),
(gst_cdaudio_send_event), (gst_cdaudio_get_query_types),
(gst_cdaudio_query), (cdaudio_uri_set_uri):
Port to 0.10.
Original commit message from CVS:
* ext/directfb/dfbvideosink.c: (plugin_init):
Lower rank from SECONDARY to MARGINAL. Plugins in -bad that might
be autoplugged shouldn't trump plugins in -base, -good or -ugly
(in this case ximagesink).
* sys/glsink/glimagesink.c: (plugin_init):
Set rank to NONE to prevent it from being autoplugged until
errors are handled properly (see #357212).
Original commit message from CVS:
Reverted previous commit (2006-09-19 - Allow internal codes from last.fm). As dicussed on #gstreamer it should be done in separete element.
Original commit message from CVS:
* ext/faac/gstfaac.c: (gst_faac_configure_source_pad),
(gst_faac_chain):
Add decoder specific info on the caps.
Some cleanups here and there.
Original commit message from CVS:
* ext/gsm/gstgsmdec.c: (gst_gsmdec_init),
(gst_gsmdec_sink_setcaps), (gst_gsmdec_sink_event),
(gst_gsmdec_chain):
* ext/gsm/gstgsmdec.h:
Handle WAV49 variant (GSM in WAV).
Some small cleanups.
Original commit message from CVS:
Patch by: Andrew Andkjar <enki at goodship net>
* ext/sdl/sdlaudiosink.c: (gst_sdlaudio_sink_close):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_supported),
(gst_sdlvideosink_deinitsdl):
Only de-init the subsystem we previously initialised. Avoids
borkage when both sdlvideosink and sdlaudiosink are used
at the same time and one is shut down.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo at circular-chaos.org>
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_post_tags),
(gst_wavpack_dec_chain):
Post audio codec and average bitrate tags on bus (#344472).
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init),
(gst_wavpack_parse_src_query):
Forward queries in other formats (BYTE format in particular)
upstream; add Sebastian to authors.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_push_block):
Fix mem leak, send newsegment event on correction pad
as well (#352476).
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
Restore original author (on Sebastian's request).
* tests/check/Makefile.am:
* tests/check/gst-plugins-bad.supp:
Add (so far empty) suppression file for -bad. Remove
wavpackenc test from VALGRIND_TO_FIX now that the leak
is fixed.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_init),
(gst_wavpack_enc_finalize), (gst_wavpack_enc_sink_set_caps),
(gst_wavpack_enc_set_wp_config), (gst_wavpack_enc_format_samples),
(gst_wavpack_enc_push_block), (gst_wavpack_enc_chain),
(gst_wavpack_enc_rewrite_first_block),
(gst_wavpack_enc_sink_event), (gst_wavpack_enc_change_state),
(gst_wavpack_enc_set_property), (gst_wavpack_enc_get_property):
* ext/wavpack/gstwavpackenc.h:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_reset),
(gst_wavpack_parse_src_query), (gst_wavpack_parse_src_event),
(gst_wavpack_parse_init), (gst_wavpack_parse_get_upstream_length),
(gst_wavpack_parse_loop):
More clean-ups: use shorter variable names to make code easier to
read; prefix structures we define with 'Gst' to make it clearer
where they come from.
Original commit message from CVS:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_init),
(gst_wavpack_enc_set_wp_config), (gst_wavpack_enc_push_block),
(gst_wavpack_enc_chain), (gst_wavpack_enc_rewrite_first_block),
(gst_wavpack_enc_sink_event):
Fix caps set on buffers and template caps (output is framed)
and make them match (#351663); use GST_WARNING_OBJECT instead of
GST_ELEMENT_WARNING; simplify push_block(); do some small
clean-ups here and there; fix memleak (#351663).
Original commit message from CVS:
Based on patch by: Sebastian Dröge <slomo at circular-chaos.org>
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_sink_event),
(gst_wavpack_parse_get_upstream_length),
(gst_wavpack_parse_find_marker), (gst_wavpack_parse_resync_loop),
(gst_wavpack_parse_loop), (gst_wavpack_parse_resync_adapter):
Fix resyncing in push mode not stopping re-syncing at embedded
zeroes; skip garbage between frames in pull mode as well if
necessary; use gst_pad_query_peer_duration(); push EOS and
NEWSEGMENT event in right direction (#351659).
Original commit message from CVS:
* ext/ladspa/gstladspa.c: (gst_ladspa_base_init):
Convert ' ' into '_'. Try to keep as many characters in the padtemplate
names as possible.
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_flush),
(gst_signal_processor_do_pushes):
A push() gives away our refcount so we should not use the buffer on the
pen anymore.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo at circular-chaos.org>
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_class_init):
* ext/wavpack/gstwavpackparse.c:
(gst_wavpack_parse_resync_adapter), (gst_wavpack_parse_chain):
In push mode, re-sync to next wavpack header if sync is lost
(#351557). Also use hyphens instead of underscores in
GObject property names.
Original commit message from CVS:
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_class_init),
(gst_wavpack_parse_reset), (gst_wavpack_parse_get_src_query_types),
(gst_wavpack_parse_src_query),
(gst_wavpack_parse_handle_seek_event),
(gst_wavpack_parse_sink_event), (gst_wavpack_parse_init),
(gst_wavpack_parse_create_src_pad),
(gst_wavpack_parse_push_buffer), (gst_wavpack_parse_loop),
(gst_wavpack_parse_chain), (gst_wavpack_parse_sink_activate),
(gst_wavpack_parse_sink_activate_pull):
* ext/wavpack/gstwavpackparse.h:
Patch by: Sebastian Dröge <slomo at circular-chaos.org>
Make wavpackparse also work in push-mode (not seekable yet though);
some small clean-ups along the way; add support for SEEKING query
and query types function. (#351495).
Original commit message from CVS:
Patch by: Michal Benes <michal.benes at itonis tv>
* ext/faac/gstfaac.c: (gst_faac_configure_source_pad):
Bitrate in the faac structure is per output channel,
not total bitrate (#350741).
Original commit message from CVS:
2006-08-04 Andy Wingo <wingo@pobox.com>
* ext/ladspa/gstsignalprocessor.h: Add infrastructure for storing
whether a processor can work in place or not, and for keeping
track of its state. Change the FlowReturn instance variable from
"state" to "flow_state", all callers changed.
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_setup)
(gst_signal_processor_start, gst_signal_processor_stop)
(gst_signal_processor_cleanup): New functions to manage the
processor's state.
(gst_signal_processor_setcaps): start() as well as setup() here.
(gst_signal_processor_prepare): Respect CAN_PROCESS_IN_PLACE.
(gst_signal_processor_change_state): Stop and cleanup the
processor as we go to NULL.
* ext/ladspa/gstladspa.c (gst_ladspa_base_init): Reuse buffers if
INPLACE_BROKEN is not set.
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_prepare):
Do the alloc_buffer in bytes, not frames.
Original commit message from CVS:
2006-08-04 Andy Wingo <wingo@pobox.com>
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_setcaps)
(gst_signal_processor_prepare)
(gst_signal_processor_update_inputs)
(gst_signal_processor_process, gst_signal_processor_pen_buffer)
(gst_signal_processor_flush)
(gst_signal_processor_sink_activate_push)
(gst_signal_processor_src_activate_pull)
(gst_signal_processor_change_state): Remove the last of the code
that assumes that we process whole buffers at a time. Fix some
debugging. Seems to work now in some cases.
Original commit message from CVS:
2006-08-01 Andy Wingo <wingo@pobox.com>
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_process):
Fix nframes-choosing.
(gst_signal_processor_init): Init pending_in and pending_out.
Original commit message from CVS:
2006-08-01 Andy Wingo <wingo@pobox.com>
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_init): No
more default sample rate, although we never check that the sample
rate actually gets set. Something for the future.
(gst_signal_processor_setcaps): Some refcount fixes, flow fixes.
(gst_signal_processor_event): Refcount fixen.
(gst_signal_processor_process): Pull the number of frames to
process from the sizes of the buffers in the input pens.
(gst_signal_processor_pen_buffer): Remove an incorrect FIXME :)
(gst_signal_processor_do_pulls): Add an nframes argument, and use
it instead of buffer_frames.
(gst_signal_processor_getrange): Refcount fixen, pass nframes on
to do_pulls.
(gst_signal_processor_chain)
(gst_signal_processor_sink_activate_push)
(gst_signal_processor_src_activate_pull): Refcount fixen.
* ext/ladspa/gstsignalprocessor.h: No more buffer_frames, yay.
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_setcaps),
(gst_signal_processor_process):
don't query buffer-frames from caps, add lots of debug-log,
try fix for assert (#349189)
Original commit message from CVS:
2006-07-31 Julien MOUTTE <julien@moutte.net>
* ext/directfb/dfbvideosink.c: (gst_dfbvideosink_change_state),
(gst_dfbvideosink_buffer_alloc): Post an error message.
Original commit message from CVS:
2006-07-31 Julien MOUTTE <julien@moutte.net>
* ext/directfb/dfbvideosink.c: (gst_dfbvideosink_change_state),
(gst_dfbvideosink_buffer_alloc): Don't try allocating if we are
not
setup yet. Fail changing state if setup fails.
Original commit message from CVS:
* ext/xvid/gstxviddec.c: (gst_xviddec_init), (gst_xviddec_reset),
(gst_xviddec_unset), (gst_xviddec_handle_sink_event),
(gst_xviddec_setup), (gst_xviddec_negotiate), (gst_xviddec_chain),
(gst_xviddec_flush_buffers), (gst_xviddec_src_getcaps),
(gst_xviddec_setcaps), (gst_xviddec_change_state):
* ext/xvid/gstxviddec.h:
Clean-ups and code reflows. Pass return value from
gst_pad_alloc_buffer() upstream among other things. Also check
for NULL GValue before using GST_VALUE_TYPE macro (#348976).
Mass rename of xviddec -> dec variable for better
code readability.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
Fix caps after previous change to byte order endianness.
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_reset),
(gst_wavpack_parse_sink_event), (gst_wavpack_parse_init),
(gst_wavpack_parse_loop):
* ext/wavpack/gstwavpackparse.h:
Queue incoming events if there's no source pad yet and
send them downstream later when the pad is there.
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_init),
(gst_wavpack_dec_format_samples),
(gst_wavpack_dec_clip_outgoing_buffer), (gst_wavpack_dec_chain),
(gst_wavpack_dec_change_state):
* ext/wavpack/gstwavpackdec.h:
Output audio in native byte order (which is also how we get
samples from wavpack); output samples with 21-24 bit depth
with 32 bit width (makes things easier for us).
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init),
(gst_wavpack_dec_class_init), (gst_wavpack_dec_init),
(gst_wavpack_dec_finalize), (gst_wavpack_dec_format_samples),
(gst_wavpack_dec_clip_outgoing_buffer), (gst_wavpack_dec_chain),
(gst_wavpack_dec_sink_event), (gst_wavpack_dec_change_state):
* ext/wavpack/gstwavpackdec.h:
More clean-ups: remove most of the disfunctional correction
pad stuff for now, if it ever gets implemented a lot of stuff
will have to be rewritten anyway; redo chain function, move
errors to end, error out instead of g_assert()ing. Also rename
overly long variable 'wavpackdec' to just 'dec'; miscellaneous
other small stuff.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo at circular-chaos.org>
* configure.ac:
Check for wavpack version and define WAVPACK_OLD_API if
necessary.
* ext/wavpack/Makefile.am:
* ext/wavpack/gstwavpackcommon.c: (gst_wavpack_read_header),
(gst_wavpack_read_metadata):
* ext/wavpack/gstwavpackcommon.h:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init),
(gst_wavpack_dec_class_init), (gst_wavpack_dec_init),
(gst_wavpack_dec_finalize), (gst_wavpack_dec_format_samples),
(gst_wavpack_dec_clip_outgoing_buffer), (gst_wavpack_dec_chain),
(gst_wavpack_dec_sink_event), (gst_wavpack_dec_change_state),
(gst_wavpack_dec_request_new_pad), (gst_wavpack_dec_plugin_init):
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_class_init),
(gst_wavpack_enc_init), (gst_wavpack_enc_finalize),
(gst_wavpack_enc_set_wp_config):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init),
(gst_wavpack_parse_finalize), (gst_wavpack_parse_class_init),
(gst_wavpack_parse_index_get_entry_from_sample),
(gst_wavpack_parse_scan_to_find_sample),
(gst_wavpack_parse_handle_seek_event),
(gst_wavpack_parse_create_src_pad):
* ext/wavpack/gstwavpackstreamreader.c:
* ext/wavpack/gstwavpackstreamreader.h:
Port to new/official wavpack API, don't use API that was exported
in wavpack header files and in the lib but meant to be private, at
least not for recent wavpack versions; misc. 'cleanups' (#347443).
Original commit message from CVS:
Patch by: Lutz Mueller <lutz at topfrose dot de>
* ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_class_init),
(gst_neonhttp_src_init), (gst_neonhttp_src_finalize),
(request_dispatch), (gst_neonhttp_src_create),
(gst_neonhttp_src_start), (gst_neonhttp_src_get_size),
(gst_neonhttp_src_stop), (set_proxy), (set_uri),
(gst_neonhttp_src_set_property), (gst_neonhttp_src_get_property),
(gst_neonhttp_src_uri_set_uri), (size_header_handler):
* ext/neon/gstneonhttpsrc.h:
Remove unlock function. start/stop will do everything needed
Removed code that was never called.
Use gst_pad_alloc_buffer. Don't send EOS - parent class does that for us.
Do not escape path. Fixes#346723.
Additional code cleanups.
Original commit message from CVS:
* configure.ac:
Fix check so that future libneon API changes won't break the build.
* ext/neon/gstneonhttpsrc.c:
Fix build with libneon-0.26.x (#345182).
Original commit message from CVS:
Patch by: Wouter Paesen <wouter at kangaroot net>
* ext/soundtouch/Makefile.am:
* ext/soundtouch/gstpitch.cc:
Make pitch element controllable via GstController interface
(#344821).
* configure.ac:
Up core requirements to 0.10.8.1/CVS because earlier
GstControllers can't handle float properties correctly.
Check for GstController CFLAGS and LIBS.
* tests/icles/Makefile.am:
* tests/icles/pitch-test.c: (main):
Add small test program for the above (welcome to the 80s!).
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo at circular-chaos org>
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_base_init),
(gst_wavpack_enc_class_init), (gst_wavpack_enc_set_wp_config),
(gst_wavpack_enc_chain), (gst_wavpack_enc_sink_event),
(gst_wavpack_enc_set_property), (gst_wavpack_enc_get_property):
* ext/wavpack/gstwavpackenc.h:
Use bitrate property solely for bitrates and add new
bits-per-sample property for the other stuff. Set duration
to 'unknown' in initial header and resend header with proper
duration on EOS; update Sebastian's e-mail address.
Original commit message from CVS:
* ext/libmms/gstmms.c: (gst_mms_create):
Set caps on outgoing buffers.
* sys/directdraw/gstdirectdrawsink.c: (gst_directdrawsink_init):
Comment out unused global instance variable.