Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(structure_has_fixed_channel_positions),
(gst_audio_convert_transform_caps):
Allow up to 11 positioned channels now that audioconvert can handle
this but add no default positions for > 8 channels.
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Add some unit tests for the above change: Test conversion of
11 positioned channels to stereo and the other way around, test
conversion of 15 unpositioned channels in different ways.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_fixate_channels):
Passthrough the channel positions if the number of output channels is
the same as the number of input channels, the input had a channel
layout and downstream requests no special one. We did this already for
> 2 channels but now it's also done for 1 channel. Fixes bug #533617.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_fixate_channels):
Correctly set the default channel positions when converting to 8
channels.
Original commit message from CVS:
Based on a patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
* gst/audioconvert/audioconvert.c: (audio_convert_prepare_context):
* gst/audioconvert/audioconvert.h:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_parse_caps),
(structure_has_fixed_channel_positions),
(gst_audio_convert_transform_caps):
* gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_matrix):
Add support for more than 8 channels and NONE channel layouts. For
more than 8 channels no channel conversion is supported yet, only
format conversions are supported. Fixes bug #398033.
* tests/check/elements/audioconvert.c: (verify_convert),
(GST_START_TEST), (audioconvert_suite):
Add some unit tests by Tim for checking the NONE channel layouts
and more than 8 channels and add some more unit tests for channel
conversions.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init),
(gst_audio_convert_create_silence_buffer),
(gst_audio_convert_transform):
Make audioconvert GAP-aware by outputting silence buffers when the
input has the GAP flag set. This is up to 8x faster.
Based on a patch by Stefan Kost. Fixes bug #517813.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (find_suitable_channel_layout),
(gst_audio_convert_fixate_channels), (gst_audio_convert_fixate_caps):
Preserve channel layout when fixating the number of channels in the
output caps, or make sure there's a suitable channel position layout
set on the caps if required. Fixes#430677.
Original commit message from CVS:
* gst/audioconvert/Makefile.am:
* gst/audioconvert/audioconvert.c: (audio_convert_get_func_index),
(check_default), (audio_convert_prepare_context),
(audio_convert_clean_context), (audio_convert_convert):
* gst/audioconvert/audioconvert.h:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_dithering_get_type),
(gst_audio_convert_ns_get_type), (gst_audio_convert_class_init),
(gst_audio_convert_init), (gst_audio_convert_set_caps),
(gst_audio_convert_set_property), (gst_audio_convert_get_property):
* gst/audioconvert/gstaudioconvert.h:
* gst/audioconvert/gstaudioquantize.c:
(gst_audio_quantize_setup_noise_shaping),
(gst_audio_quantize_free_noise_shaping),
(gst_audio_quantize_setup_dither),
(gst_audio_quantize_free_dither),
(gst_audio_quantize_setup_quantize_func),
(gst_audio_quantize_setup), (gst_audio_quantize_free):
* gst/audioconvert/gstaudioquantize.h:
Implement dithering and noise shaping in audioconvert. By default now
TPDF dithering (and no noise shaping) will be used when converting
from a higher bit depth to 20 bit depth or smaller, otherwise
everything will be as it is now.
For the last audioconvert in a pipeline it would make sense to
use some kind of noise shaping, enabling it by default for all
conversions would give undesired results though. Fixes#360246.
* tests/check/elements/audioconvert.c: (setup_audioconvert),
(GST_START_TEST):
Adjust unit test for the new audioconvert.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init):
Initalize the AudioConvertCtx with zeroes, otherwise it will contain
pointers to random memory which are passed to g_free() when
audio_convert_prepare_context() is called the first time.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
with some minor changes
* gst-libs/gst/floatcast/floatcast.h:
Use more efficient float endianness conversion functions that don't
involve 2 function calls per value.
* gst/audioconvert/audioconvert.c: (audio_convert_get_func_index),
(check_default), (audio_convert_prepare_context):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_parse_caps), (make_lossless_changes):
Support non-native endianness floats as input and output.
Fixes#339838.
* tests/check/elements/audioconvert.c: (verify_convert),
(GST_START_TEST):
Add unit tests for the non-native endianness float conversions.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (strip_width_64),
(gst_audio_convert_transform_caps):
Fix typo in debug line introduced recently, as pointed out on irc.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
(strip_width_64), (append_with_other_format):
Previous fix was too simplistic, and broke the tests. Use a better
approach; only strip 64 from widths for integer audio.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
(gst_audio_convert_transform_caps):
We don't support 64 bit integer audio, so don't try to claim we can.
Stops us producing caps don't match our template caps.
Update comments.
Original commit message from CVS:
* gst/audioconvert/audioconvert.c: (float), (double), (float_hq),
(double_hq), (audio_convert_get_func_index),
(audio_convert_prepare_context), (audio_convert_convert):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init), (gst_audio_convert_get_unit_size),
(gst_audio_convert_transform_caps):
* tests/check/elements/audioconvert.c: (GST_START_TEST),
(audioconvert_suite):
Don't run inplace if that overwrites source data as we go. Add more
tests. Fixes#339837 even more.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(set_structure_widths_32_and_64), (make_lossless_changes):
We don't support floats with a width of 40, 48 or 56 bits.
Original commit message from CVS:
* gst/audioconvert/audioconvert.c: (float), (double),
(audio_convert_get_func_index):
* gst/audioconvert/gstaudioconvert.c: (set_structure_widths),
(make_lossless_changes):
Support for 64-bit float audio in audioconvert (#339837)
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
(gst_audio_convert_transform_caps):
* gst/videotestsrc/videotestsrc.c: (gst_video_test_src_unicolor):
* gst/videotestsrc/videotestsrc.h:
A few array const-ifications.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (set_structure_widths),
(gst_audio_convert_transform_caps):
Get structure-name just once.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_get_unit_size), (set_structure_widths):
Lower debug, use g_assert in _get_unit_size
* gst/audioresample/gstaudioresample.c:
(audioresample_get_unit_size):
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_get_unit_size):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_get_unit_size):
use g_assert in _get_unit_size
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
(append_with_other_format), (set_structure_widths),
(gst_audio_convert_transform_caps):
Patch from #341562: give more specific audio caps in get_caps, so
that basetransform can make better decisions on what caps to
negotiate.
Original commit message from CVS:
* check/Makefile.am:
* check/pipelines/simple_launch_lines.c: (setup_pipeline),
(run_pipeline), (GST_START_TEST), (simple_launch_lines_suite):
Add extra tests for basetransform based components.
Comment out the test_element_negotiation test until we decide
if it's testing correct behaviour.
* ext/libvisual/visual.c: (gst_visual_init), (get_buffer),
(gst_visual_chain), (gst_visual_change_state):
Slightly more correct but still bogus timestamping.
Fix state change function.
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init):
* gst/audioresample/gstaudioresample.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_class_init):
* gst/videoscale/gstvideoscale.c: (gst_videoscale_class_init),
(gst_videoscale_prepare_size), (gst_videoscale_set_caps),
(gst_videoscale_prepare_image):
* gst/volume/gstvolume.c: (gst_volume_class_init),
(volume_transform_ip):
Basetransform updates. Enable passthrough modes.
* sys/ximage/ximagesink.c: (gst_ximage_buffer_init),
(gst_ximagesink_renegotiate_size), (gst_ximagesink_xcontext_get),
(gst_ximagesink_setcaps), (gst_ximagesink_buffer_alloc):
Negotiation fix that allows the window to return to the original
size and renegotiate passthrough upstream. Extra debug output.
Original commit message from CVS:
* common/gtk-doc-plugins.mak:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
renamed to actual element names, so much nicer to look at
* docs/plugins/tmpl/gstmultifdsink.sgml:
remove
* docs/plugins/tmpl/multifdsink.sgml:
* docs/plugins/tmpl/tcpserversink.sgml:
add
* ext/alsa/gstalsa.c:
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_get_property):
* ext/ogg/gstoggmux.c:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain):
* gst/playback/gstdecodebin.c:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init):
* gst/tcp/gsttcpserversink.c:
various fixes and documentation additions
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_src_getcaps),
(theora_dec_push), (theora_handle_data_packet):
Prepare for better timestamp fix later.
* gst/audioconvert/gstaudioconvert.c:
List most accurate caps first
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_loop):
Use proper pad task function.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_show_frame):
Fix deadlock when alloc failed.
Original commit message from CVS:
2005-07-04 Andy Wingo <wingo@pobox.com>
* gst/audioconvert/gstaudioconvert.c (gst_audio_convert_fixate):
No refcount leakage.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_sink_setcaps),
(gst_vorbisenc_src_query), (gst_vorbisenc_sink_query),
(gst_vorbisenc_set_header_on_caps), (gst_vorbisenc_sink_event),
(gst_vorbisenc_chain):
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain),
(gst_audio_convert_caps_remove_format_info),
(gst_audio_convert_getcaps), (gst_audio_convert_setcaps),
(gst_audio_convert_fixate), (gst_audio_convert_channels):
Make caps writable before writing to it.
Fix negotiation in audioconvert some more.
Original commit message from CVS:
Plugin port to 0.9, ogg/theora playback should work in the seek
example now.
Removed old examples.
Removed old oggvorbisenc, renamed rawvorbisenc to vorbisenc as
explained in 0.9 TODO doc.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate):
The return value of fixate_to does not imply that the requested
value was set, so don't assume.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_loop),
(gst_a52dec_change_state):
Don't do sample adjusting anymore, we use float audio now.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate):
Don't fixate to non-existing properties.
Original commit message from CVS:
* configure.ac: remove NASM check, since we don't use it. Update
dirac check to 0.4
* ext/dirac/gstdiracdec.cc: update to current 0.4 API
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
Initialized variables.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (qtdemux_parse), (qtdemux_parse_trak),
(gst_qtdemux_handle_esds), (qtdemux_audio_caps): Fix seeking, add
SVQ3 format
Original commit message from CVS:
2004-07-11 Andy Wingo <wingo@pobox.com>
* gst/audioconvert/gstaudioconvert.c (gst_audio_convert_link): For
float, "any" caps -> buffer_frames=[0,MAX].
* gst/interleave/interleave.c (interleave_getcaps): Seems the core
doesn't intersect our caps with the template any more. Do it
ourselves.
(interleave_buffered_loop): Use g_newa instead of malloc/free.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate):
fixate nicely even when the peer is not negotiating
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_parse_caps):
make sure we don't allow depth > width
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate):
fixate endianness to G_BYTE_ORDER as default
* gst/audioscale/gstaudioscale.c:
we don't handle another endianness as host-endianness
Original commit message from CVS:
* ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_sinkconnect),
(gst_oggvorbisenc_setup):
properly fail when we can't setup the vorbis encoder due to
unsupported settings
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_sinkconnect),
(gst_vorbisenc_setup):
same
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
fix case where warnings occured when one pad was unlinked while the
other's link function was called
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_id3_tag_init):
remove leftover g_print
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
don't try setting only a subset of the caps. We don't want to kill
autoplugging on purpose
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssink.c:
(_gst_boolean_allow_overwrite_accumulator),
(gst_gnomevfssink_class_init):
fix erase signal - if any handler returns false the file will not be
overwritten. If no handler is connected, the file will not be
overwritten either.
renamed signal to "allow-overwrite"
* ext/mad/gstid3tag.c: (tag_list_to_id3_tag_foreach):
free string when adding it to ID3 failed
* ext/vorbis/vorbisdec.c: (vorbis_dec_event):
unref event when done
* gst/audioconvert/gstaudioconvert.c: (_fixate_caps_to_int):
free caps
* gst/typefind/gsttypefindfunctions.c:
(mpeg_video_stream_type_find):
fix invalid read
Original commit message from CVS:
2004-04-09 Andy Wingo <wingo@pobox.com>
* gst/audioconvert/bufferframesconvert.c: New element to convert
buffer-frames for float streams. Not working nicely yet.
* gst/audioconvert/plugin.h:
* gst/audioconvert/plugin.c: New files.
* gst/audioconvert/Makefile.am: Build the new files.
* gst/audioconvert/gstaudioconvert.c: Initialize via plugin.[ch].
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link),
(_fixate_caps_to_int), (gst_audio_convert_fixate):
add a fixation function that pretty much does the right thing (fixes
#137556)
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_getcaps),
(gst_audio_convert_link), (gst_audio_convert_change_state),
(gst_audio_convert_buffer_from_default_format):
do conversions from/to float correctly, fix some caps nego errors,
export correct supported caps in template and getcaps, use correct
caps in try_set_caps functions
Original commit message from CVS:
* ext/aalib/gstaasink.c: (gst_aasink_fixate), (gst_aasink_init):
Add fixate function. (bug #131128)
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_init),
(gst_sdlvideosink_fixate): Add fixate function.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
Fix attempt to print a non-pointer using GST_PTR_FORMAT.
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt):
Fix missing break that was causing ulaw to be interpreted as
raw int.