gst-camera is a gtk-test app to play with the imagecapture and videorecording.
gst-camera-perf is a tool to run various scenarios and take time meassurements
(e.g. shot-to-shot). Also sort the output files in configure.ac a bit to be
in alphabetical order.
Sprinkle more logging to make it easier to follow. Specify a low framerate and
capture resolution to avoid tests timing out. Make the sinks sync to test closer
to reality. Fix Makefile to use uninstalled interface.
* decouple image capturing from image post-processing and encoding
* post image-captured message after image is captured
* post preview-image message with snapshot of captured image
Create output caps from input caps, so we maintain any fields we
might get on the input caps, such as codec_data or rate and channels.
Set channels and rate on the output caps if we don't have input caps
or they don't contain such fields. We do this partly because we can,
but also because some muxers need this information. Tagreadbin will
also be happy about this.
Don't allow setting filename via img-done signal parameter but force app
use filename property. Don't stop capture when setting filename property.
Update check unit test based on the change.
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.
The video was recorded for too long for the test timeouts. Also the verification
suite did not had custom timouts at all. Also split the verification for images
and video to get better reporting.
Use playbin2 for validation. Use tmp_dir for capturing. Wait with g_cond for
burst capture finish. Cleanup some g_object_set. Add some logging to ease
tracing.
Original commit message from CVS:
* tests/check/Makefile.am:
Dist test headers for amr and aac parsers.
Remove leftover lines mentioned speexresample tests.
Original commit message from CVS:
* gst/mxf/mxfaes-bwf.c: (mxf_bwf_handle_essence_element),
(mxf_aes3_handle_essence_element):
* gst/mxf/mxfalaw.c: (mxf_alaw_handle_essence_element):
* gst/mxf/mxfd10.c: (mxf_d10_picture_handle_essence_element),
(mxf_d10_sound_handle_essence_element):
* gst/mxf/mxfdemux.c: (gst_mxf_demux_pad_init),
(gst_mxf_demux_choose_package),
(gst_mxf_demux_handle_header_metadata_update_streams),
(gst_mxf_demux_pad_next_component),
(gst_mxf_demux_handle_generic_container_essence_element),
(gst_mxf_demux_parse_footer_metadata),
(gst_mxf_demux_handle_klv_packet), (gst_mxf_demux_src_query):
* gst/mxf/mxfdv-dif.c: (mxf_dv_dif_handle_essence_element):
* gst/mxf/mxfjpeg2000.c: (mxf_jpeg2000_handle_essence_element):
* gst/mxf/mxfmetadata.c: (mxf_metadata_sequence_init),
(mxf_metadata_structural_component_init),
(mxf_metadata_generic_picture_essence_descriptor_init):
* gst/mxf/mxfmpeg.c: (mxf_mpeg_video_handle_essence_element),
(mxf_mpeg_audio_handle_essence_element):
* gst/mxf/mxfparse.h:
* gst/mxf/mxfup.c: (mxf_up_handle_essence_element):
* gst/mxf/mxfvc3.c: (mxf_vc3_handle_essence_element):
* tests/check/elements/mxfdemux.c: (_sink_chain):
Implement support for OP2a/b/c and OP3a/b/c, i.e. tracks with
more than a single component. This currently only works for
the case where the components are stored in playback order
in the file.
Set some more default/distinguished values for the structural
metadata.
Make some types more strict by choosing the correct subclasses.
Set DISCONT flag on buffers after a component switch.
Take the last partition from the random index pack for the footer
partition of the header partition doesn't reference the footer
partition. This gives us the final structural metadata for
some more files in the beginning.
Original commit message from CVS:
* tests/check/elements/mxfdemux.c: (_sink_event):
* tests/check/elements/mxfdemux.h:
Make sure the main loop is already running when handling the EOS
event in pull mode. This works around a race condition that can
happen if the element goes into PLAYING, handles everything and
sends EOS before the main loop is started.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/mxfdemux.c: (_pad_added), (_sink_chain),
(_sink_event), (_create_sink_pad), (_create_src_pad_push),
(_src_getrange), (_src_query), (_create_src_pad_pull),
(GST_START_TEST), (mxfdemux_suite):
* tests/check/elements/mxfdemux.h:
Add push and pull mode unit test for mxfdemux.
Original commit message from CVS:
* tests/check/elements/speexresample.c: (test_pipeline):
Make unit test again faster to prevent timeouts with valgrind.
Original commit message from CVS:
* tests/check/elements/speexresample.c: (GST_START_TEST):
Make the unit test a bit faster to prevent timeouts, especially
with valgrind.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/aacparse.c:
* tests/check/elements/amrparse.c:
Add unit tests for new parsers.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/qtmux.c: (setup_src_pad),
(teardown_src_pad), (setup_qtmux), (cleanup_qtmux),
(check_qtmux_pad), (GST_START_TEST), (qtmux_suite), (main):
Add unit test for qtmux.
Original commit message from CVS:
* tests/check/elements/speexresample.c: (element_message_cb),
(eos_message_cb), (test_pipeline), (GST_START_TEST),
(speexresample_suite):
Add pipeline unit tests for testing all supported formats with
up/downsampling and different in/outrates.
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_push_drain), (gst_speex_resample_process):
* gst/speexresample/speex_resampler_wrapper.h:
Fix bugs identified by the testsuite.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c: (gst_speex_resample_start),
(gst_speex_resample_get_unit_size),
(gst_speex_resample_push_drain), (gst_speex_resample_event),
(gst_speex_resample_check_discont), (gst_speex_resample_process),
(gst_speex_resample_transform):
* gst/speexresample/gstspeexresample.h:
Rewrite timestamp tracking to make it more robust and guarantee
a continous stream.
* tests/check/Makefile.am:
* tests/check/elements/speexresample.c: (setup_speexresample),
(cleanup_speexresample), (fail_unless_perfect_stream),
(test_perfect_stream_instance), (GST_START_TEST),
(test_discont_stream_instance), (live_switch_alloc_only_48000),
(live_switch_get_sink_caps), (live_switch_push),
(speexresample_suite):
Add unit tests for speexresample based on the audioresample unit tests.
Original commit message from CVS:
* tests/check/pipelines/metadata.c:
Make the metadata test not fail when jpegenc isn't available....
as it isn't here, because it's not in this module, and
therefore not in the plugin path when the check runs.
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:
* tests/check/generic/states.c:
Stop test on state-change error. Should be applied on other modules if
we agree that it makes sense.
Original commit message from CVS:
* tests/check/elements/audioresample.c: (setup_audioresample),
(fail_unless_perfect_stream), (test_perfect_stream_instance),
(test_discont_stream_instance):
Now that GstBaseTransform is 'fixed' ... remove cruft from tests.
Add debugging for coherence.
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:
* gst/selector/gstoutputselector.c:
* tests/icles/output-selector-test.c:
Use BOILERPLATE macro and update test to the latest api changes.
Original commit message from CVS:
* gst/interleave/interleave.c: (gst_interleave_pad_get_type),
(gst_interleave_finalize), (gst_audio_check_channel_positions),
(gst_interleave_set_channel_positions),
(gst_interleave_class_init), (gst_interleave_init),
(gst_interleave_set_property), (gst_interleave_get_property),
(gst_interleave_request_new_pad), (gst_interleave_release_pad),
(gst_interleave_sink_setcaps), (gst_interleave_src_query_duration),
(gst_interleave_src_query_latency), (gst_interleave_collected):
* gst/interleave/interleave.h:
Allow setting channel positions via a property and allow using the
channel positions on the input as the channel positions of the output.
Fix some broken logic and memory leaks.
* tests/check/Makefile.am:
* tests/check/elements/interleave.c: (src_handoff_float32),
(sink_handoff_float32), (GST_START_TEST), (interleave_suite):
Add unit tests for checking correct handling of channel positions.
Original commit message from CVS:
* gst/interleave/deinterleave.c:
Add another example launch line.
* gst/interleave/interleave.c: (interleave_24),
(gst_interleave_finalize), (gst_interleave_base_init),
(gst_interleave_class_init), (gst_interleave_init),
(gst_interleave_request_new_pad), (gst_interleave_release_pad),
(gst_interleave_change_state), (__remove_channels),
(__set_channels), (gst_interleave_sink_getcaps),
(gst_interleave_set_process_function),
(gst_interleave_sink_setcaps), (gst_interleave_sink_event),
(gst_interleave_src_query_duration), (gst_interleave_src_query),
(forward_event_func), (forward_event), (gst_interleave_src_event),
(gst_interleave_collected):
* gst/interleave/interleave.h:
Major rewrite of interleave using GstCollectpads. This new version
also supports almost all raw audio formats and has better caps
negotiation. Fixes bug #506594.
Also update docs and add some more examples.
* tests/check/elements/interleave.c: (interleave_chain_func),
(GST_START_TEST), (src_handoff_float32), (sink_handoff_float32),
(interleave_suite):
Add some more extensive unit tests for interleave.
Original commit message from CVS:
* tests/icles/.cvsignore:
* tests/icles/Makefile.am:
* tests/icles/test-oss4.c: (opt_show_mixer_messages), (WAIT_TIME),
(show_mixer_messages), (probe_mixer_tracks), (probe_pad),
(probe_details), (probe_element), (main):
Small oss4 test that probes for available devices and retrieves
their caps and mixer tracks and all that. Also allows testing of
mixer change messages on the bus.
Original commit message from CVS:
* tests/check/elements/deinterleave.c: (GST_START_TEST):
Set keep-positions property to TRUE for the 8 channel test to ensure
that the original channel position is set on the output.
Original commit message from CVS:
* gst/interleave/Makefile.am:
* gst/interleave/deinterleave.c: (deinterleave_24),
(gst_deinterleave_finalize), (gst_deinterleave_base_init),
(gst_deinterleave_class_init), (gst_deinterleave_init),
(gst_deinterleave_add_new_pads), (gst_deinterleave_set_pads_caps),
(gst_deinterleave_set_process_function),
(gst_deinterleave_sink_setcaps), (__remove_channels),
(__set_channels), (gst_deinterleave_getcaps),
(gst_deinterleave_process), (gst_deinterleave_chain),
(gst_deinterleave_sink_activate_push):
* gst/interleave/deinterleave.h:
Add support for all raw audio formats and provide better negotiation
if the caps are changing.
Don't allow changes of the channel positions and set the position of
the corresponding channel on the src pad caps.
General cleanup and smaller bugfixes.
* tests/check/elements/deinterleave.c: (float_buffer_check_probe):
Check the channel positions on the output buffer caps.
Original commit message from CVS:
* tests/check/Makefile.am:
Remove deinterleave test from VALGRIND_TO_FIX again now that
there are suppressions in gst.supp which make this work for me.
Original commit message from CVS:
* tests/check/Makefile.am:
Add deinterleave unit test to VALGRIND_TO_FIX, since it causes
weird invalid free errors in valgrind/libc after _exit for some
reason.
* tests/check/elements/deinterleave.c: (pads_created),
(set_channel_positions), (src_handoff_float32_8ch),
(float_buffer_check_probe),
(pad_added_setup_data_check_float32_8ch_cb),
(make_fake_src_8chans_float32), (GST_START_TEST),
(deinterleave_suite):
Add some more deinterleave unit test bits I had locally.
Original commit message from CVS:
* gst/interleave/Makefile.am:
* gst/interleave/deinterleave.h:
* gst/interleave/interleave.h:
* gst/interleave/plugin.h:
Split definitions into separate header files for better documentation
generation.
* gst/interleave/deinterleave.c: (gst_deinterleave_base_init),
(gst_deinterleave_class_init), (gst_deinterleave_sink_setcaps),
(gst_deinterleave_process):
Don't use alloca, allow caps changes as long as the number of channels
does not change, don't use g_warning, return NOT_NEGOTIATED as early
as possible and some other cleanup.
* gst/interleave/interleave.c: (gst_interleave_base_init),
(gst_interleave_class_init):
Do some random cleanup.
* tests/check/Makefile.am:
* tests/check/elements/deinterleave.c: (GST_START_TEST),
(deinterleave_chain_func), (deinterleave_pad_added),
(deinterleave_suite):
Add unit tests for the deinterleave element.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* tests/check/elements/audioresample.c:
(live_switch_alloc_only_48000), (live_switch_get_sink_caps),
(live_switch_push), (GST_START_TEST):
Add unit test for the latest basetransform negotiation changes.
See bug #526768.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* gst/audioresample/gstaudioresample.c: (gst_audioresample_init):
Let audioresample use the buffer allocation of basetransform instead
of it's own stuff.
* tests/check/elements/audioresample.c: (alloc_only_48000),
(GST_START_TEST), (audioresample_suite):
Add unit test for the recent basetransform bugfix, where upstream
changes caps to something that can't be passed through anymore.
Original commit message from CVS:
* tests/check/Makefile.am:
Don't inlcude dc1394src in the generic/states test as it requires
special hardware. Fixes bug #528011.
Original commit message from CVS:
* tests/check/elements/ofa.c: (bus_handler), (GST_START_TEST):
Only check if the generated fingerprints are valid Base64. The
fingerprints are different when running on different architectures
which is a) no problem because the fingerprints are tolerant enough
and b) is caused by libofa. Fixes bug #528266.
Original commit message from CVS:
* tests/icles/metadata_editor.c: (ENC_UNKNOWN), (last_pixbuf),
(draw_pixbuf), (change_tag_list), (update_draw_pixbuf),
(ui_drawing_size_allocate_cb), (on_drawingMain_expose_event),
(on_buttonSaveFile_clicked), (ui_create), (me_gst_bus_callback_view),
(me_gst_setup_view_pipeline), (process_file):
* tests/icles/metadata_editor.glade:
Remove GstXOverlay stuff and use gdkpixbufsink plus some rather crude
drawing/scaling logic to make this compile and work on all platforms.
Fixes#518227.
Original commit message from CVS:
* tests/check/elements/souphttpsrc.c: (got_buffer),
(souphttpsrc_suite):
Increase the timeout for the internet tests to 250 seconds
and check for NULL caps instead of just crashing.
The real fix would be to implement an shoutcast server for the unit test
instead of relying on a working internet connection.
Fixes bug #521749.
Original commit message from CVS:
* tests/check/elements/ofa.c: (GST_START_TEST):
Also check that we have processed at least 135 seconds of audio
until we stop and calculated a fingerprint.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/ofa.c: (bus_handler), (GST_START_TEST),
(ofa_suite), (main):
Add simple unit tests for the OFA plugin.
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:
* 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:
* gst/selector/gstinputselector.c: (gst_selector_pad_class_init),
(gst_selector_pad_finalize), (gst_selector_pad_get_property),
(gst_selector_pad_event), (gst_input_selector_class_init),
(gst_input_selector_init), (gst_input_selector_set_active_pad),
(gst_input_selector_set_property),
(gst_input_selector_get_property),
(gst_input_selector_request_new_pad),
(gst_input_selector_release_pad),
(gst_input_selector_push_pending_stop),
(gst_input_selector_switch):
* gst/selector/gstinputselector.h:
Various cleanups.
Added tags to the pads.
Select active pad based on the pad object instead of its name.
Fix refcount in set_active_pad.
Add property to get the number of pads.
* gst/selector/gstoutputselector.c:
(gst_output_selector_class_init),
(gst_output_selector_set_property),
(gst_output_selector_get_property):
Various cleanups.
Select the active pad based on the pad object instead of its name.
Fix locking when setting the active pad.
* gst/selector/gstselector-marshal.list:
* tests/check/elements/selector.c: (cleanup_pad),
(selector_set_active_pad), (run_input_selector_buffer_count):
Fixes for pad instead of padname for pad selection.
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: 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:
* gst/selector/gstinputselector.c:
* gst/selector/gstinputselector.h:
Added "select-all" property to make it work like aggregator in 0.8.
* gst/selector/gstoutputselector.c:
Fix resend-latest behavoiur.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/selector.c:
Add unit tests for selector.
Original commit message from CVS:
* tests/check/gst-plugins-bad.supp:
Add suppressions for SoundTouch valgrind warnings and
a valgrind warning caused by the LADSPA sine plugin and
happening on every exit().
Remove GIO suppressions as it's now in -base.
Original commit message from CVS:
* tests/check/Makefile.am:
Ignore some more elements for the states unit test, like
dfbvideosink which produces a segfault. Fixes bug #517854.
Original commit message from CVS:
* gst/selector/Makefile.am:
Listing the marshal.h in the nodist_HEADERS breaks distcheck, so
let's not do that
* tests/check/Makefile.am:
Disable the crashing cdaudio plugin from the states test so I can make
pre-releases.
Original commit message from CVS:
* gst/multifile/gstmultifilesink.c:
* gst/multifile/gstmultifilesrc.c:
Use g_file_[sg]et_contents() instead of using stdio functions.
Should be less error prone.
* tests/check/elements/multifile.c:
Create a temporary directory using standard functions instead of
creating a directory in the current dir.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
* docs/plugins/gst-plugins-bad-plugins.interfaces:
Remove equalizer plugin docs
* tests/check/Makefile.am:
Add GST_OPTION_CFLAGS, to get -Werror -Wall into the tests as for
other modules.
* tests/check/elements/multifile.c:
* tests/check/elements/rganalysis.c:
* tests/check/elements/rglimiter.c:
Fix compiler warnings from -Wall -Werror
Original commit message from CVS:
* configure.ac:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/inspect/plugin-xingheader.xml:
* gst/xingheader/Makefile.am:
* gst/xingheader/gstxingmux.c:
* gst/xingheader/gstxingmux.h:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/xingmux.c:
* tests/check/elements/xingmux_testdata.h:
Remove the xingmux plugin, as the element has moved into
mpegaudioparse in -ugly.
Original commit message from CVS:
* gst/multifile/gstmultifilesink.c:
Add a fixme comment.
* gst/selector/gstoutputselector.c:
Fix same leak as in input-selector.
* tests/icles/output-selector-test.c:
Improve the test.
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:
Patch by: Wouter Cloetens <wouter at mind dot be>
* tests/check/test-cert.pem:
* tests/check/test-key.pem:
Add missing files for the unit test.
Original commit message from CVS:
* configure.ac:
Check for libglade-2.0, for the metadata-editor example.
* tests/icles/Makefile.am:
Only try to build the metadata-editor example if we have gtk and
glade (otherwise the build would just fail ...); fix build in
uninstalled setup.
* tests/icles/metadata_editor.c: (on_cell_edited), (ui_add_columns):
Fix compiler warnings (use GLib macros to cast pointer <-> int).
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:
* gst/xingheader/gstxingmux.c:
* gst/xingheader/gstxingmux.h:
Add documentation for the xingheader plugin.
* tests/check/elements/xingmux.c: (GST_START_TEST):
Set element state to PLAYING before doing something else.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/xingmux.c: (setup_xingmux),
(cleanup_xingmux), (GST_START_TEST), (xingmux_suite), (main):
* tests/check/elements/xingmux_testdata.h:
Add simple unit test for the xingmux element.
* gst/xingheader/gstxingmux.c: (generate_xing_header),
(gst_xing_mux_finalize), (xing_reset):
Fix a memleak and invalid seek tables with less than 100 MP3 frames.
Original commit message from CVS:
* tests/check/Makefile.am:
Enable spectrum test again.
* tests/check/gst-plugins-bad.supp:
Add suppressions for a singleton in GIO that can't be freed.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/equalizer.c: (setup_equalizer),
(cleanup_equalizer), (GST_START_TEST), (equalizer_suite), (main):
Add some minimal tests for the equalizer plugin.
Original commit message from CVS:
* configure.ac:
* tests/check/pipelines/gio.c: (GST_START_TEST):
Update for API changes in GIO and require GIO 2.15.2 for this.
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:
* tests/check/Makefile.am:
Disable vcdsrc in states test because it takes too much time
to get to PLAYING if it can find a device.
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:
* configure.ac:
* tests/check/pipelines/gio.c: (GST_START_TEST):
Require GIO >= 0.1.2 and adjust unit test for an API change.
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:
* gst/interleave/interleave.c: (gst_interleave_request_new_pad):
Let's not call every request pad we create "sink%d", that'll
create problems if there's to be more than one pad. Fixes#490682.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/interleave.c:
Add unit test for the above.
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: 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:
* configure.ac:
* gst/spectrum/Makefile.am:
* gst/spectrum/demo-audiotest.c: (draw_spectrum),
(message_handler), (main):
* gst/spectrum/demo-osssrc.c: (draw_spectrum), (message_handler):
* gst/spectrum/gstspectrum.c: (gst_spectrum_base_init),
(gst_spectrum_class_init), (gst_spectrum_init),
(gst_spectrum_dispose), (gst_spectrum_set_property),
(gst_spectrum_get_property), (gst_spectrum_start),
(gst_spectrum_setup), (gst_spectrum_message_new),
(gst_spectrum_transform_ip):
* gst/spectrum/gstspectrum.h:
Port GstSpectrum to GstAudioFilter and libgstfft, add support
for int32, float and double, use floats for the message contents,
average all FFTs done in one interval for better results, use
a better windowing function, allow posting the phase in the message
and actually do an FFT with the requested number of bands instead
of interpolating.
* tests/check/elements/spectrum.c: (GST_START_TEST),
(spectrum_suite):
Improve the units tests by checking for a 11025Hz sine wave
and add unit tests for all 4 supported sample types.
Original commit message from CVS:
* tests/check/elements/bpwsinc.c: (GST_START_TEST),
(bpwsinc_suite):
* tests/check/elements/lpwsinc.c: (GST_START_TEST),
(lpwsinc_suite):
Also test everything in 32 bit float mode.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init),
(bpwsinc_set_property), (bpwsinc_get_property):
* gst/filter/gstbpwsinc.h:
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init),
(gst_lpwsinc_init), (lpwsinc_build_kernel), (lpwsinc_set_property),
(lpwsinc_get_property):
* gst/filter/gstlpwsinc.h:
* tests/check/elements/lpwsinc.c: (GST_START_TEST):
Use generator macros for the process functions for the different
sample types, add lower upper boundaries for the GObject properties
so automatically generated UIs can use sliders and change frequency
properties to floats to save a bit of memory, even ints would in
theory be enough. Also rename frequency to cutoff for consistency
reasons.
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
Regenerated for the above changes.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init),
(gst_bpwsinc_init), (process_32), (process_64),
(bpwsinc_build_kernel), (bpwsinc_push_residue),
(bpwsinc_transform), (bpwsinc_start), (bpwsinc_query),
(bpwsinc_query_type), (bpwsinc_event), (bpwsinc_set_property):
* gst/filter/gstbpwsinc.h:
Implement latency query and only forward those samples downstream
that actually contain the data we want, i.e. drop kernel_length/2
in the beginning and append kernel_length/2 (created by convolving
the filter kernel with zeroes) to the end.
* tests/check/elements/bpwsinc.c: (GST_START_TEST):
Adjust the unit test for this slightly changed behaviour.
* gst/filter/gstlpwsinc.c: (lpwsinc_build_kernel):
Reset residue length only when actually creating a residue.
Original commit message from CVS:
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init),
(gst_lpwsinc_init), (process_32), (process_64),
(lpwsinc_build_kernel), (lpwsinc_push_residue),
(lpwsinc_transform), (lpwsinc_start), (lpwsinc_query),
(lpwsinc_query_type), (lpwsinc_event), (lpwsinc_set_property):
* gst/filter/gstlpwsinc.h:
Implement latency query and only forward those samples downstream
that actually contain the data we want, i.e. drop kernel_length/2
in the beginning and append kernel_length/2 (created by convolving
the filter kernel with zeroes) to the end.
* tests/check/elements/lpwsinc.c: (GST_START_TEST):
Adjust the unit test for this slightly changed behaviour.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/generic/.cvsignore:
* tests/check/generic/states.c:
Add generic state-change test suite to help to fi leaks.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/bpwsinc.c: (setup_bpwsinc),
(cleanup_bpwsinc), (GST_START_TEST), (bpwsinc_suite), (main):
Add unit tests for bpwsinc, testing fundamental functionality again.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/lpwsinc.c: (setup_lpwsinc),
(cleanup_lpwsinc), (GST_START_TEST), (lpwsinc_suite), (main):
Add unit tests for lpwsinc, testing fundamental functionality.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/timidity.c (GST_START_TEST, timidity_suite,
main):
Add typefind test for midi.
Original commit message from CVS:
* configure.ac:
* tests/Makefile.am:
Remove bogus check for libcheck, since we check for
gstreamer-check and it pulls in the required info from there, and we
weren't actually _using_ the information for libcheck ourselves
anyway.
Original commit message from CVS:
* tests/icles/videocrop-test.c: (main):
Default to xvimagesink instead of autovideosink while
autovideosink/ghostpads/whatever don't handle the way we use it in
the way we expect it to.
Original commit message from CVS:
* gst/y4m/gsty4mencode.c: (gst_y4m_encode_init),
(gst_y4m_encode_setcaps):
* tests/check/elements/y4menc.c: (GST_START_TEST):
Plug some leaks; try to make build bot happy again.
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:
* tests/icles/equalizer-test.c: (equalizer_set_band_value),
(equalizer_set_all_band_values),
(equalizer_set_band_value_and_wait),
(equalizer_set_all_band_values_and_wait), (do_slider_fiddling),
(main):
Port the example to new equalizer api.
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:
* tests/check/Makefile.am:
Draw plugins in from the build tree sys/ dir, rather than
picking up the already installed versions.
Original commit message from CVS:
* gst/videocrop/gstvideocrop.c:
(gst_video_crop_get_image_details_from_caps),
(gst_video_crop_transform_packed_complex):
Fix cropping for packed 4:2:2 formats YUYV/YUY2 and UYVY.
* tests/icles/videocrop-test.c: (check_bus_for_errors),
(test_with_caps), (main):
Block streaming thread before changing filter caps while the
pipeline is running so that we don't get random not-negotiated
errors just because GStreamer can't handle that yet.
Original commit message from CVS:
* tests/icles/videocrop-test.c: (main):
Call g_thread_init() right at the beginning. Remove superfluous
gst_init() - we've already been inited via the GOption stuff.
Original commit message from CVS:
Patch by: Vincent Torri <vtorri at univ-evry fr>
* configure.ac:
* sys/Makefile.am:
* sys/directsound/Makefile.am:
* sys/directsound/gstdirectsoundsink.c:
(gst_directsoundsink_reset):
Add directsoundsink to build and dist it, so it gets built when
compiling with MingW on win32 and the required headers and libraries
are available (fixes: #392638). Also simplify DirectDraw check a bit.
* tests/check/elements/.cvsignore:
Fix CVS ignore for neonhttpsrc test binary.
Original commit message from CVS:
* tests/check/elements/videocrop.c: (GST_START_TEST),
(videocrop_test_cropping_init_context):
When we can't create an element needed for the test, print a message
detailing which element it actually is that's missing (#390673).
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.