Commit graph

1577 commits

Author SHA1 Message Date
Wim Taymans
81558d6a94 gst/playback/: Add screenshot conversion code from totem.
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstscreenshot.c: (feed_fakesrc), (save_result),
(create_element), (gst_play_frame_conv_convert):
* gst/playback/gstscreenshot.h:
Add screenshot conversion code from totem.
* gst/playback/gstplay-marshal.list:
* gst/playback/gstplaybin2.c: (gst_play_marshal_BUFFER__BOXED),
(gst_play_bin_class_init), (gst_play_bin_convert_frame),
(gst_play_bin_get_property), (no_more_pads_cb), (activate_group):
Implement frame property to get a color-unconverted snapshot.
Implement convert-frame action signal to get a converted snapshot image.
Configure connection speed in uridecodebin.
Document some more properties.
* gst/playback/gstplaysink.c: (gst_play_sink_class_init),
(gen_video_chain), (gen_audio_chain), (gst_play_sink_reconfigure),
(gst_play_sink_get_last_frame):
* gst/playback/gstplaysink.h:
Use last-buffer property of the video sink to get a video snapshot.
* tests/examples/seek/seek.c: (shot_cb), (main):
Add snapshot button for playbin2 and use the frame property to save the
frame as a png in the current directory.
2008-02-19 15:02:33 +00:00
Josep Torra Valles
58a9fd3622 gst/typefind/gsttypefindfunctions.c: Add typefinding support for h264 elementary streams.
Original commit message from CVS:
Patch by: Josep Torra Valles <josep at fluendo dot com>
* gst/typefind/gsttypefindfunctions.c: (h264_video_type_find),
(plugin_init):
Add typefinding support for h264 elementary streams.
Fixes bug #517420.
2008-02-19 11:45:56 +00:00
Stefan Kost
054842ca82 configure.ac: Require CVS of core for new API in collectpads.
Original commit message from CVS:
* configure.ac:
Require CVS of core for new API in collectpads.
* gst/adder/gstadder.c:
Use new API to make adder sparse stream aware.
2008-02-18 13:51:34 +00:00
Wim Taymans
5fc67f8bd3 gst/playback/gstplaybin2.c: Get the object data correct so that we can remove our channels correctly.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (pad_added_cb), (pad_removed_cb),
(no_more_pads_cb):
Get the object data correct so that we can remove our channels
correctly.
* gst/playback/gstplaysink.c: (gen_video_chain), (gen_audio_chain),
(gen_vis_chain), (gst_play_sink_reconfigure),
(gst_play_sink_request_pad):
Add option to disable async behaviour in the sinks when possible. This
makes it possible to avoid an audio queue when dealing with
visualisations.
Add option to add a queue for the audio path.
* tests/examples/seek/seek.c: (clear_streams), (update_streams),
(main):
Disable the vis checkbox to match the defaults of playbin2.
Only get the stream info when we need to.
2008-02-18 11:54:15 +00:00
Wim Taymans
5659831526 gst/playback/gstplaysink.c: Move tee in front of the audio and vis pipelines.
Original commit message from CVS:
* gst/playback/gstplaysink.c: (gst_play_sink_set_mute),
(gst_play_sink_get_mute), (gen_video_chain), (gen_audio_chain),
(gen_vis_chain), (gst_play_sink_reconfigure),
(gst_play_sink_request_pad):
Move tee in front of the audio and vis pipelines.
Add queue for audio for now.
Add visualisation support.
* tests/examples/seek/seek.c: (main):
Visualisation is by default disabled.
2008-02-15 18:38:52 +00:00
Wim Taymans
609daaede3 gst/playback/: Add mute property.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(gst_play_bin_set_property), (gst_play_bin_get_property),
(pad_added_cb), (pad_removed_cb), (no_more_pads_cb):
* gst/playback/gstplaysink.c: (gst_play_sink_set_mute),
(gst_play_sink_get_mute), (gen_audio_chain):
* gst/playback/gstplaysink.h:
Add mute property.
* gst/playback/gststreamselector.c: (gst_selector_pad_event),
(gst_selector_pad_chain):
* gst/playback/gststreamselector.h:
Make sure we forward the event only once.
* tests/examples/seek/seek.c: (stop_cb), (mute_toggle_cb), (main):
Add and implement the mute button for playbin2.
2008-02-14 18:24:42 +00:00
Tim-Philipp Müller
1d9e1d6a3d gst/playback/: Handle case where we can't create the volume element a bit better (#514307).
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_audio_element):
* gst/playback/gstplaysink.c: (gen_audio_chain):
Handle case where we can't create the volume element a bit
better (#514307).
2008-02-11 18:31:43 +00:00
Tim-Philipp Müller
cfe66ed251 gst/typefind/gsttypefindfunctions.c: Bump rank of jpeg and png typefinders, which will return maximum probability in ...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c:
Bump rank of jpeg and png typefinders, which will return maximum
probability in the most common cases (thus short-circuiting more
expensive typefinders like the mp3 one for these two quite common
image types).
2008-02-11 13:03:13 +00:00
Zaheer Abbas Merali
b006ba7afe gst/playback/gstplaybasebin.c: Set is_dynamic as True if there are elements with both request and sometimes src pad t...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c:
Set is_dynamic as True if there are elements with both request
and sometimes src pad templates instead of breaking out when it
finds the first pad template that is a src.
2008-02-09 10:41:36 +00:00
Wim Taymans
c8bb67d0ca gst/playback/gstplay-marshal.list: Added marshal for streamselector Tags.
Original commit message from CVS:
* gst/playback/gstplay-marshal.list:
Added marshal for streamselector Tags.
* gst/playback/gstplaybasebin.c: (set_active_source):
Streamselector now selects pads based on the pad object instead of its
name.
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(init_group), (gst_play_bin_init), (get_group), (get_tags),
(gst_play_bin_get_video_tags), (gst_play_bin_get_audio_tags),
(gst_play_bin_get_text_tags),
(gst_play_bin_set_current_video_stream),
(gst_play_bin_set_current_audio_stream),
(gst_play_bin_set_current_text_stream),
(gst_play_bin_set_property), (gst_play_bin_get_property),
(pad_added_cb), (pad_removed_cb), (autoplug_select_cb):
Remove option to mute streams with the current-a/v/t property, we have
this functionality in the flags.
Add signals to notify when the number of A/V/T channels changed.
Add action signals to get tags for the A/V/T streams.
Implement setting the current A/V/T stream.
Rearrange some things to simplify stream selection.
Implement volume.
* gst/playback/gstplaysink.c: (gst_play_sink_set_volume),
(gst_play_sink_get_volume), (gst_play_sink_set_property),
(gst_play_sink_get_property), (gen_video_chain), (gen_audio_chain),
(activate_vis), (gst_play_sink_reconfigure):
* gst/playback/gstplaysink.h:
Add and implement volume setting methods.
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_selector_pad_finalize), (gst_selector_pad_get_property),
(gst_selector_pad_event), (gst_stream_selector_class_init),
(gst_stream_selector_init), (gst_stream_selector_finalize),
(gst_stream_selector_set_property),
(gst_stream_selector_get_property),
(gst_stream_selector_get_linked_pad),
(gst_stream_selector_request_new_pad):
* gst/playback/gststreamselector.h:
Add pad properties for tags and status of pads.
Keep tags on pads.
Make active pad selection based on pad object instead of name.
2008-02-08 17:47:37 +00:00
Wim Taymans
b5aaf1e1a9 gst/tcp/gstfdset.h: Remove unused field to same some memory.
Original commit message from CVS:
* gst/tcp/gstfdset.h:
Remove unused field to same some memory.
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
Mark action signals as such.
2008-02-06 15:07:30 +00:00
Wim Taymans
899330d904 gst/playback/gstplaybin2.c: Remove stream-info, we going for something easier.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(get_group), (get_n_pads), (gst_play_bin_get_property),
(pad_added_cb), (no_more_pads_cb), (perform_eos),
(autoplug_select_cb), (deactivate_group):
Remove stream-info, we going for something easier.
Refactor getting the current group.
Implement getting the number of audio/video/text streams.
* gst/playback/gststreamselector.c:
(gst_stream_selector_class_init), (gst_stream_selector_init),
(gst_stream_selector_get_property),
(gst_stream_selector_request_new_pad),
(gst_stream_selector_release_pad):
* gst/playback/gststreamselector.h:
Add property for number of pads.
* tests/examples/seek/seek.c: (set_scale), (update_flag),
(vis_toggle_cb), (audio_toggle_cb), (video_toggle_cb),
(text_toggle_cb), (update_streams), (msg_async_done),
(msg_state_changed), (main):
Block slider callback when updating the slider position.
Add gui elements for controlling playbin2.
Add callback for async_done that updates position/duration.
2008-02-01 16:44:21 +00:00
David Schleef
5aad3658f8 gst/videoscale/vs_4tap.c: Fix valgrind error on 4tap scaling method.
Original commit message from CVS:
* gst/videoscale/vs_4tap.c:
Fix valgrind error on 4tap scaling method.
2008-01-14 01:19:34 +00:00
Tim-Philipp Müller
047fb95bad gst/playback/gstdecodebin.c: Make sure we error out correctly if we can't activate one of the elements we've added. ...
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (try_to_link_1):
Make sure we error out correctly if we can't activate one of
the elements we've added.  Fixes #508138.
2008-01-08 20:48:00 +00:00
Wim Taymans
9c9f60777a gst/playback/gstplay-enum.*: Add enums for configuration flags.
Original commit message from CVS:
* gst/playback/gstplay-enum.c:
(register_gst_autoplug_select_result),
(gst_autoplug_select_result_get_type), (register_gst_play_flags),
(gst_play_flags_get_type):
* gst/playback/gstplay-enum.h:
Add enums for configuration flags.
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(init_group), (gst_play_bin_init), (gst_play_bin_set_property),
(gst_play_bin_get_property), (no_more_pads_cb),
(autoplug_select_cb), (gst_play_bin_change_state):
Merge mode with flags.
Add more property getters/setters, defaults and docs.
Add properties to get number of audio/video/text streams.
Create sink object in _init so that we can always rely on it being
there.
* gst/playback/gstplaysink.c: (gst_play_sink_init),
(gen_video_chain), (gen_audio_chain), (gen_vis_chain),
(activate_vis), (gst_play_sink_reconfigure),
(gst_play_sink_set_flags), (gst_play_sink_get_flags),
(gst_play_sink_change_state):
* gst/playback/gstplaysink.h:
Use flags to configure the sink pipelines.
Add tee before audio pipeline so that we can use it for visualisations.
Start working on integrating visualisations.
Remove mode, we can do everything with the flags now.
Add method to configue the sink pipeline.
2008-01-07 11:40:04 +00:00
Sebastian Dröge
3ac84ec4ff gst/volume/: Use GstAudioFilter as base class for the volume element instead of plain GstBaseTransform.
Original commit message from CVS:
* gst/volume/Makefile.am:
* gst/volume/gstvolume.c: (volume_choose_func),
(gst_volume_base_init), (gst_volume_class_init), (gst_volume_init),
(volume_setup):
* gst/volume/gstvolume.h:
Use GstAudioFilter as base class for the volume element instead of
plain GstBaseTransform.
2008-01-03 20:33:58 +00:00
Thijs Vermeir
b3739a8e7d gst/subparse/gstssaparse.c: combine if's
Original commit message from CVS:
* gst/subparse/gstssaparse.c:
combine if's
2007-12-29 20:55:39 +00:00
Thijs Vermeir
41cc98e287 gst/subparse/gstssaparse.c: remove duplicate log message
Original commit message from CVS:
* gst/subparse/gstssaparse.c:
remove duplicate log message
2007-12-29 19:23:59 +00:00
Wim Taymans
7cb7bffb9e gst/playback/gstplaybin2.c: Code cleanups.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(gst_play_bin_finalize), (gst_play_bin_set_uri),
(gst_play_bin_set_suburi), (gst_play_bin_set_property),
(gst_play_bin_get_property), (pad_removed_cb), (drained_cb),
(autoplug_select_cb), (activate_group), (deactivate_group),
(setup_next_source), (save_current_group),
(gst_play_bin_change_state):
Code cleanups.
Remove next-uri, we can use the uri property just fine.
Fix some crasher.
Unref uridecodebin when switching.
Fix going to READY.
* gst/playback/gstplaysink.c: (gst_play_sink_class_init),
(gst_play_sink_init), (gst_play_sink_dispose),
(gst_play_sink_finalize), (gst_play_sink_vis_unblocked),
(gst_play_sink_vis_blocked), (gst_play_sink_set_video_sink),
(gst_play_sink_set_audio_sink), (gst_play_sink_set_vis_plugin),
(gst_play_sink_set_property), (gst_play_sink_get_property),
(gen_video_chain), (gen_text_element), (gen_audio_chain),
(gen_vis_element), (gst_play_sink_get_mode),
(gst_play_sink_set_mode), (gst_play_sink_set_flags),
(gst_play_sink_get_flags), (gst_play_sink_request_pad),
(gst_play_sink_release_pad), (gst_play_sink_send_event_to_sink),
(gst_play_sink_change_state):
* gst/playback/gstplaysink.h:
Add some locking to make things threadsafe.
* gst/playback/test7.c: (about_to_finish_cb):
Fix test.
2007-12-28 09:00:27 +00:00
Tim-Philipp Müller
bd01fd3a57 gst/videoscale/gstvideoscale.c: Don't claim to be able to handle/transform caps that can't really be handled by the c...
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c: (gst_video_scale_set_property),
(gst_video_scale_get_property), (gst_video_scale_transform_caps),
(gst_video_scale_transform):
Don't claim to be able to handle/transform caps that can't really
be handled by the currently selected scaling method (here: RGB or
packed YUV with 4-tap method). Also add locking to method property.
* tests/check/pipelines/simple-launch-lines.c: (setup_pipeline),
(test_basetransform_based):
Some test pipelines for the above (not entirely valgrind clean yet
apparently).
2007-12-22 12:06:47 +00:00
Tim-Philipp Müller
032e064516 gst/playback/gststreamselector.c: Don't leak event.
Original commit message from CVS:
* gst/playback/gststreamselector.c: (gst_selector_pad_event):
Don't leak event.
2007-12-21 22:26:47 +00:00
Tim-Philipp Müller
377bde7868 gst/playback/.cvsignore: Ignore more.
Original commit message from CVS:
* gst/playback/.cvsignore:
Ignore more.
2007-12-20 17:13:37 +00:00
Tim-Philipp Müller
85f189aee5 Make switching off of subtitles work. To avoid all kind of problems with unlinking of the subtitle input, we just kee...
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
* gst/playback/gstplaybasebin.c: (set_subtitles_visible),
(set_active_source):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(setup_sinks), (playbin_set_subtitles_visible):
Make switching off of subtitles work. To avoid all kind of
problems with unlinking of the subtitle input, we just keep
the subtitle inputs linked as they are and tell textoverlay
not to render them. Fixes #373011.
Other subtitle switching issues (esp. when there are both
external and in-stream subtitles) remain. They'll be solved
in playbin2.
2007-12-20 10:41:29 +00:00
Wim Taymans
e56165db4f gst/playback/gststreamselector.c: Init the pad segment too.
Original commit message from CVS:
* gst/playback/gststreamselector.c: (gst_selector_pad_init):
Init the pad segment too.
2007-12-18 16:21:35 +00:00
David Schleef
c5b66243be gst/videotestsrc/gstvideotestsrc.*: Add a "blink" pattern. Turn on the pain. Apologies. It's useful for testing ve...
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
Add a "blink" pattern.  Turn on the pain.  Apologies.  It's useful
for testing vertical refresh synchronization.
2007-12-18 01:01:23 +00:00
Sebastian Dröge
248742277c Use new gst_base_transform_set_gap_aware() function as volume correctly handles GST_BUFFER_FLAG_GAP. Require core 0.1...
Original commit message from CVS:
* configure.ac:
* gst/volume/gstvolume.c: (gst_volume_init):
Use new gst_base_transform_set_gap_aware() function as volume
correctly handles GST_BUFFER_FLAG_GAP. Require core 0.10.15.1
for this.
2007-12-15 03:40:34 +00:00
Wim Taymans
671d766d8a gst/playback/gstqueue2.c: Use separate timers for input and output rates.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_finalize),
(reset_rate_timer), (update_in_rates), (update_out_rates),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_chain), (gst_queue_loop):
Use separate timers for input and output rates.
Pause measuring the output rate when we block for more data.
See #503262.
2007-12-14 18:46:12 +00:00
Christian Schaller
9153699f65 update spec file and add two missing files for disting
Original commit message from CVS:
update spec file and add two missing files for disting
2007-12-14 16:23:06 +00:00
Wim Taymans
2da1bb2538 gst/playback/gstqueue2.c: Pause the timer to measure the input rate when we block because the queue is filled. See #5...
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_chain):
Pause the timer to measure the input rate when we block because the
queue is filled. See #503262.
2007-12-14 09:24:55 +00:00
Wim Taymans
74e5172181 gst/playback/gstdecodebin2.c: Expose the right pad in the right place with the right element.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (analyze_new_pad), (connect_pad):
Expose the right pad in the right place with the right element.
2007-12-13 12:31:38 +00:00
Wim Taymans
802b38c200 gst/audioconvert/Makefile.am: Also link to libm.
Original commit message from CVS:
* gst/audioconvert/Makefile.am:
Also link to libm.
2007-12-10 15:21:41 +00:00
Robin Stocker
7bbbf15ad8 gst/subparse/gstsubparse.c: Some .srt files start with chunk number 0 and not chunk number 1, recognise and accept th...
Original commit message from CVS:
Patch by: Robin Stocker <robin dot stocker at gmx dot ch>
* gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect):
Some .srt files start with chunk number 0 and not chunk number 1,
recognise and accept those as well (fixes #502497).
* tests/check/elements/subparse.c: (srt_input), (srt_input0),
(test_src):
Add unit test for the above.
2007-12-08 18:38:39 +00:00
Wim Taymans
356971158c gst/playback/gstplay-enum.*: Add missing files.
Original commit message from CVS:
* gst/playback/gstplay-enum.c:
(register_gst_autoplug_select_result),
(gst_autoplug_select_result_get_type):
* gst/playback/gstplay-enum.h:
Add missing files.
2007-12-06 12:08:21 +00:00
Wim Taymans
f2f9bf045b gst/playback/Makefile.am: Group decodebin2 and uridecodebin into the same plugin so that they can share the GEnumType.
Original commit message from CVS:
* gst/playback/Makefile.am:
Group decodebin2 and uridecodebin into the same plugin so that they
can share the GEnumType.
* gst/playback/gstdecodebin2.c: (_gst_array_accumulator),
(_gst_select_accumulator), (gst_decode_bin_class_init),
(gst_decode_bin_init), (gst_decode_bin_autoplug_sort),
(gst_decode_bin_autoplug_select), (gst_decode_bin_autoplug_add),
(analyze_new_pad), (connect_pad), (gst_decode_bin_plugin_init):
Add signal to sort factories instead of the more awkward autoplug-select
signal.
Modify autoplug_select so that we can try, skip or expose the
autopluggin of an element on a pad.
* gst/playback/gstfactorylists.c: (compare_ranks),
(decoders_filter), (sinks_filter), (gst_factory_list_is_type),
(element_filter), (gst_factory_list_get_elements),
(gst_factory_list_debug), (gst_factory_list_filter):
* gst/playback/gstfactorylists.h:
Simplify the API, allow getting elements based on mask.
* gst/playback/gstplay-marshal.list:
Add some more marshallers.
* gst/playback/gstplaybin2.c: (init_group), (gst_play_bin_init),
(gst_play_bin_finalize), (pad_removed_cb), (autoplug_factories_cb),
(autoplug_select_cb), (activate_group):
Add support for managing non-raw sinks by providing a custom element and
sink list to decodebin2.
Try to plug non-raw sinks when decodebin2 using autoplug-select of
decodebin2.
* gst/playback/gstplaysink.c: (gen_video_chain), (gen_audio_chain),
(gst_play_sink_set_mode), (gst_play_sink_request_pad):
* gst/playback/gstplaysink.h:
Add support for raw and non-raw sinks.
Add support to force sinks selected by playbin2.
Don't plug raw converters for non-raw sinks.
* gst/playback/gsturidecodebin.c: (_gst_array_accumulator),
(_gst_select_accumulator), (gst_uri_decode_bin_class_init),
(proxy_autoplug_select_signal), (gst_uri_decode_bin_plugin_init),
(plugin_init):
Use right accumulators.
Proxy new signal.
2007-12-05 17:11:48 +00:00
Wim Taymans
11bf488b85 gst/playback/: Refactor some common code to filter factories and check caps compat.
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstfactorylists.c: (compare_ranks), (print_feature),
(get_feature_array), (decoders_filter), (sinks_filter),
(gst_factory_list_get_decoders), (gst_factory_list_get_sinks),
(gst_factory_list_filter):
* gst/playback/gstfactorylists.h:
Refactor some common code to filter factories and check caps compat.
* gst/playback/gstdecodebin.c:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
(gst_decode_bin_init), (gst_decode_bin_dispose),
(gst_decode_bin_autoplug_continue),
(gst_decode_bin_autoplug_factories),
(gst_decode_bin_autoplug_select), (analyze_new_pad),
(find_compatibles):
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(gst_play_bin_init), (gst_play_bin_finalize),
(autoplug_factories_cb), (activate_group):
* gst/playback/gstqueue2.c:
* gst/playback/gsturidecodebin.c: (proxy_unknown_type_signal),
(proxy_autoplug_continue_signal),
(proxy_autoplug_factories_signal), (proxy_autoplug_select_signal),
(proxy_drained_signal):
Add some more debug info and use factor filtering code.
2007-11-30 17:47:15 +00:00
Julien Moutte
0625160416 configure.ac: Add QuickTime Wrapper plug-in.
Original commit message from CVS:
2007-11-26  Julien Moutte  <julien@fluendo.com>

* configure.ac: Add QuickTime Wrapper plug-in.
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_push_drain), (gst_speex_resample_process): Fix
build on Mac OS X Leopard. Incorrect printf format arguments.
* sys/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/qtwrapper/audiodecoders.c:
(qtwrapper_audio_decoder_base_init),
(qtwrapper_audio_decoder_class_init),
(qtwrapper_audio_decoder_init),
(clear_AudioStreamBasicDescription), (fill_indesc_mp3),
(fill_indesc_aac), (fill_indesc_samr), (fill_indesc_generic),
(make_samr_magic_cookie), (open_decoder),
(qtwrapper_audio_decoder_sink_setcaps), (process_buffer_cb),
(qtwrapper_audio_decoder_chain),
(qtwrapper_audio_decoder_sink_event),
(qtwrapper_audio_decoders_register):
* sys/qtwrapper/codecmapping.c: (audio_caps_from_string),
(fourcc_to_caps):
* sys/qtwrapper/codecmapping.h:
* sys/qtwrapper/imagedescription.c: (image_description_for_avc1),
(image_description_for_mp4v), (image_description_from_stsd_buffer),
(image_description_from_codec_data):
* sys/qtwrapper/imagedescription.h:
* sys/qtwrapper/qtutils.c: (get_name_info_from_component),
(get_output_info_from_component), (dump_avcc_atom),
(dump_image_description), (dump_codec_decompress_params),
(addSInt32ToDictionary), (dump_cvpixel_buffer),
(DestroyAudioBufferList), (AllocateAudioBufferList):
* sys/qtwrapper/qtutils.h:
* sys/qtwrapper/qtwrapper.c: (plugin_init):
* sys/qtwrapper/qtwrapper.h:
* sys/qtwrapper/videodecoders.c:
(qtwrapper_video_decoder_base_init),
(qtwrapper_video_decoder_class_init),
(qtwrapper_video_decoder_init), (qtwrapper_video_decoder_finalize),
(fill_image_description), (new_image_description), (close_decoder),
(open_decoder), (qtwrapper_video_decoder_sink_setcaps),
(decompressCb), (qtwrapper_video_decoder_chain),
(qtwrapper_video_decoder_sink_event),
(qtwrapper_video_decoders_register): Initial import of QuickTime
wrapper jointly developped by Songbird authors (Pioneers of the
Inevitable) and Fluendo.
2007-11-26 13:19:46 +00:00
Stefan Kost
1cfef609d0 gst/: Add GAP-flag support.
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/volume/gstvolume.c:
* gst/volume/gstvolume.h:
Add GAP-flag support.
2007-11-26 12:25:55 +00:00
Sebastian Dröge
dacc06a547 gst/speexresample/: Update speex resampler to latest SVN. We're now down to only the changes noted in README again.
Original commit message from CVS:
* gst/speexresample/README:
* gst/speexresample/arch.h:
* gst/speexresample/resample.c: (resampler_basic_direct_single),
(resampler_basic_direct_double),
(resampler_basic_interpolate_single),
(resampler_basic_interpolate_double),
(speex_resampler_process_native), (speex_resampler_process_float),
(speex_resampler_process_int),
(speex_resampler_process_interleaved_float),
(speex_resampler_process_interleaved_int),
(speex_resampler_get_input_latency),
(speex_resampler_get_output_latency):
* gst/speexresample/speex_resampler.h:
Update speex resampler to latest SVN. We're now down to only the
changes noted in README again.
* gst/speexresample/speex_resampler_wrapper.h:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_push_drain), (gst_speex_resample_query):
Adjust to API changes.
2007-11-26 08:43:25 +00:00
Sebastian Dröge
155d1b123d gst/speexresample/gstspeexresample.c: Only post the latency message if we have a resampler state already.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_update_state):
Only post the latency message if we have a resampler state already.
2007-11-23 10:21:31 +00:00
Sebastian Dröge
8edd45dbde gst/audioresample/gstaudioresample.c: Implement latency query.
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c: (gst_audioresample_init),
(audioresample_query), (audioresample_query_type),
(gst_audioresample_set_property):
Implement latency query.
2007-11-23 10:21:11 +00:00
Sebastian Dröge
816466b67f gst/speexresample/gstspeexresample.c: Also post GST_MESSAGE_LATENCY if the latency changes.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_update_state):
Also post GST_MESSAGE_LATENCY if the latency changes.
2007-11-23 10:01:33 +00:00
Sebastian Dröge
f564ebf8cb gst/speexresample/: Add functions to push the remaining samples and to get the latency of the resampler. These will g...
Original commit message from CVS:
* gst/speexresample/resample.c: (speex_resampler_get_latency),
(speex_resampler_drain_float), (speex_resampler_drain_int),
(speex_resampler_drain_interleaved_float),
(speex_resampler_drain_interleaved_int):
* gst/speexresample/speex_resampler.h:
* gst/speexresample/speex_resampler_wrapper.h:
Add functions to push the remaining samples and to get the latency
of the resampler. These will get added to Speex SVN in this or a
slightly changed form at some point too and should get merged then
again.
* gst/speexresample/gstspeexresample.c: (gst_speex_resample_init),
(gst_speex_resample_init_state),
(gst_speex_resample_transform_size),
(gst_speex_resample_push_drain), (gst_speex_resample_event),
(gst_speex_fix_output_buffer), (gst_speex_resample_process),
(gst_speex_resample_query), (gst_speex_resample_query_type):
Drop the prepending zeroes and output the remaining samples on EOS.
Also properly implement the latency query for this. speexresample
should be completely ready for production use now.
2007-11-23 08:48:50 +00:00
Sebastian Dröge
d834d1cb48 gst/speexresample/README: Add README explaining where the resampling code was taken from and which changes were done.
Original commit message from CVS:
* gst/speexresample/README:
Add README explaining where the resampling code was taken from
and which changes were done.
* gst/speexresample/resample.c: (speex_alloc), (speex_realloc),
(speex_free):
Use g_malloc() and friends instead of malloc() to achieve higher
portability and define the functions inline.
* gst/speexresample/speex_resampler.h:
Add back some useless preprocessor stuff to keep the diff between
our version and the one from the Speex SVN repository lower.
2007-11-21 10:18:56 +00:00
Sebastian Dröge
d832d9bb16 gst/speexresample/gstspeexresample.c: Some small cleanup and addition of a TODO item.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_fix_output_buffer), (gst_speex_resample_transform):
Some small cleanup and addition of a TODO item.
2007-11-20 20:23:25 +00:00
Sebastian Dröge
25c4adab31 gst/speexresample/Makefile.am: Add missing file.
Original commit message from CVS:
* gst/speexresample/Makefile.am:
Add missing file.
2007-11-20 12:56:00 +00:00
Sebastian Dröge
66f2838c8c Add speexresample to the docs and while at that do a make update.
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:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-bz2.xml:
* docs/plugins/inspect/plugin-cdxaparse.xml:
* docs/plugins/inspect/plugin-dtsdec.xml:
* docs/plugins/inspect/plugin-equalizer.xml:
* docs/plugins/inspect/plugin-faac.xml:
* docs/plugins/inspect/plugin-faad.xml:
* docs/plugins/inspect/plugin-filter.xml:
* docs/plugins/inspect/plugin-freeze.xml:
* docs/plugins/inspect/plugin-gio.xml:
* docs/plugins/inspect/plugin-gsm.xml:
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
* docs/plugins/inspect/plugin-h264parse.xml:
* docs/plugins/inspect/plugin-modplug.xml:
* docs/plugins/inspect/plugin-mpeg2enc.xml:
* docs/plugins/inspect/plugin-musepack.xml:
* docs/plugins/inspect/plugin-musicbrainz.xml:
* docs/plugins/inspect/plugin-nsfdec.xml:
* docs/plugins/inspect/plugin-replaygain.xml:
* docs/plugins/inspect/plugin-soundtouch.xml:
* docs/plugins/inspect/plugin-spcdec.xml:
* docs/plugins/inspect/plugin-spectrum.xml:
* docs/plugins/inspect/plugin-speed.xml:
* docs/plugins/inspect/plugin-tta.xml:
* docs/plugins/inspect/plugin-videosignal.xml:
* docs/plugins/inspect/plugin-xingheader.xml:
* docs/plugins/inspect/plugin-xvid.xml:
* gst/speexresample/gstspeexresample.h:
Add speexresample to the docs and while at that do a make update.
2007-11-20 07:47:27 +00:00
Sebastian Dröge
3adf5a8875 gst/speexresample/gstspeexresample.c: If the resampler gives less output samples than expected adjust the output buff...
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_fix_output_buffer), (gst_speex_resample_process):
If the resampler gives less output samples than expected
adjust the output buffer and print a warning.
2007-11-20 07:30:30 +00:00
Sebastian Dröge
7fc30c9d28 Add resample element based on the Speex resampling algorithm.
Original commit message from CVS:
* configure.ac:
* gst/speexresample/arch.h:
* gst/speexresample/fixed_generic.h:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_base_init), (gst_speex_resample_class_init),
(gst_speex_resample_init), (gst_speex_resample_start),
(gst_speex_resample_stop), (gst_speex_resample_get_unit_size),
(gst_speex_resample_transform_caps),
(gst_speex_resample_init_state), (gst_speex_resample_update_state),
(gst_speex_resample_reset_state), (gst_speex_resample_parse_caps),
(gst_speex_resample_transform_size), (gst_speex_resample_set_caps),
(gst_speex_resample_event), (gst_speex_resample_check_discont),
(gst_speex_resample_process), (gst_speex_resample_transform),
(gst_speex_resample_set_property),
(gst_speex_resample_get_property), (plugin_init):
* gst/speexresample/gstspeexresample.h:
* gst/speexresample/resample.c: (speex_alloc), (speex_realloc),
(speex_free), (compute_func), (main), (sinc), (cubic_coef),
(resampler_basic_direct_single), (resampler_basic_direct_double),
(resampler_basic_interpolate_single),
(resampler_basic_interpolate_double), (update_filter),
(speex_resampler_init), (speex_resampler_init_frac),
(speex_resampler_destroy), (speex_resampler_process_native),
(speex_resampler_process_float), (speex_resampler_process_int),
(speex_resampler_process_interleaved_float),
(speex_resampler_process_interleaved_int),
(speex_resampler_set_rate), (speex_resampler_get_rate),
(speex_resampler_set_rate_frac), (speex_resampler_get_ratio),
(speex_resampler_set_quality), (speex_resampler_get_quality),
(speex_resampler_set_input_stride),
(speex_resampler_get_input_stride),
(speex_resampler_set_output_stride),
(speex_resampler_get_output_stride), (speex_resampler_skip_zeros),
(speex_resampler_reset_mem), (speex_resampler_strerror):
* gst/speexresample/speex_resampler.h:
* gst/speexresample/speex_resampler_float.c:
* gst/speexresample/speex_resampler_int.c:
* gst/speexresample/speex_resampler_wrapper.h:
Add resample element based on the Speex resampling algorithm.
2007-11-20 07:02:45 +00:00
Stefan Kost
84b35b401a gst/playback/: Fix the build + little README update.
Original commit message from CVS:
* gst/playback/README:
* gst/playback/test7.c:
Fix the build + little README update.
2007-11-17 15:25:15 +00:00
Wim Taymans
b75b5525da gst/playback/: Add playbin2.
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstplayback.c: (plugin_init):
* gst/playback/test7.c: (update_scale), (warning_cb), (error_cb),
(eos_cb), (about_to_finish_cb), (main):
Add playbin2.
Added gapless playback example.
* gst/playback/gstplaybasebin.c:
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_plugin_init):
* gst/playback/gstqueue2.c:
* gst/playback/test.c:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init),
(pad_removed_cb):
* gst/playback/gststreaminfo.h:
Change email.
* gst/playback/gstplaybin2.c: (gst_play_bin_get_type),
(gst_play_bin_class_init), (init_group), (gst_play_bin_init),
(gst_play_bin_dispose), (gst_play_bin_set_uri),
(gst_play_bin_set_suburi), (gst_play_bin_set_property),
(gst_play_bin_get_property), (gst_play_bin_handle_message),
(pad_added_cb), (pad_removed_cb), (no_more_pads_cb), (perform_eos),
(drained_cb), (unlink_group), (activate_group),
(setup_next_source), (gst_play_bin_change_state),
(gst_play_bin2_plugin_init):
Added raw first version of playbin2. Does chained oggs and gapless
playback fine. No support for raw sinks yet. No visualisations or
subtitles yet.
* gst/playback/gstplaysink.c: (gst_play_sink_get_type),
(gst_play_sink_class_init), (gst_play_sink_init),
(gst_play_sink_dispose), (gst_play_sink_vis_unblocked),
(gst_play_sink_vis_blocked), (gst_play_sink_set_video_sink),
(gst_play_sink_set_audio_sink), (gst_play_sink_set_vis_plugin),
(gst_play_sink_set_property), (gst_play_sink_get_property),
(post_missing_element_message), (free_chain), (add_chain),
(activate_chain), (gen_video_chain), (gen_text_element),
(gen_audio_chain), (gen_vis_element), (gst_play_sink_get_mode),
(gst_play_sink_set_mode), (gst_play_sink_request_pad),
(gst_play_sink_release_pad), (gst_play_sink_send_event_to_sink),
(gst_play_sink_send_event), (gst_play_sink_change_state):
* gst/playback/gstplaysink.h:
Added Element that abstracts the sinks and their pipelines for playbin2.
2007-11-16 15:44:48 +00:00
Wim Taymans
3f43bfacd2 gst/playback/gststreamselector.*: Improve streamselector, make it select and unselect the current pad more intelligen...
Original commit message from CVS:
* gst/playback/gststreamselector.c: (gst_selector_pad_get_type),
(gst_selector_pad_class_init), (gst_selector_pad_init),
(gst_selector_pad_finalize), (gst_selector_pad_reset),
(gst_selector_pad_get_linked_pads), (gst_selector_pad_event),
(gst_selector_pad_getcaps), (gst_selector_pad_bufferalloc),
(gst_selector_pad_chain), (gst_stream_selector_get_type),
(gst_stream_selector_base_init), (gst_stream_selector_class_init),
(gst_stream_selector_init), (gst_stream_selector_set_property),
(gst_stream_selector_get_linked_pad),
(gst_stream_selector_getcaps),
(gst_stream_selector_is_active_sinkpad),
(gst_stream_selector_activate_sinkpad),
(gst_stream_selector_get_linked_pads),
(gst_stream_selector_request_new_pad),
(gst_stream_selector_release_pad):
* gst/playback/gststreamselector.h:
Improve streamselector, make it select and unselect the current pad more
intelligently.
Subclass GstPad for the sinkpads of the selector.
Handle segments more correctly.
Fix caps negotiation.
Implement release_pad.
2007-11-16 15:05:07 +00:00
Wim Taymans
0df5f5b2e6 gst/playback/gstdecodebin2.c: Add drained signal fired when decodebin finishes decoding the data.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
(gst_decode_group_check_if_drained), (source_pad_event_probe),
(remove_fakesink):
Add drained signal fired when decodebin finishes decoding the data.
Remove deprecated STATE_DIRTY message.
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init),
(unknown_type_cb), (new_decoded_pad_cb), (pad_removed_cb),
(analyse_source), (proxy_drained_signal), (make_decoder),
(source_new_pad), (value_list_append_structure_list),
(handle_redirect_message), (handle_message):
Proxy the new drained signal.
Handle pad removed from decodebin.
Handle redirect messages by sorting multiple redirections based on the
connection speed.
2007-11-16 12:51:44 +00:00
Stefan Kost
1c2fae7f8b gst/playback/gstdecodebin2.c: Dont leak ghostpad. Fixes #475451.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c:
Dont leak ghostpad. Fixes #475451.
2007-11-09 15:54:45 +00:00
Wim Taymans
905945738d Update some more docs and comments.
Original commit message from CVS:
* docs/design/design-decodebin.txt:
* gst/playback/gstdecodebin2.c: (analyze_new_pad):
Update some more docs and comments.
2007-11-09 12:21:52 +00:00
Tim-Philipp Müller
750a724841 gst/playback/gstplaybasebin.c: Avoid crash when there are external subtitles (fixes #491722).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (queue_threshold_reached),
(finish_source):
Avoid crash when there are external subtitles (fixes #491722).
2007-11-06 11:09:30 +00:00
Ole André Vadla Ravnås
05a205860d gst-libs/gst/audio/gstringbuffer.c: Return NULL instead of an enum that happens to be 0, fixes warning on MSVC (#4921...
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_parse_caps):
Return NULL instead of an enum that happens to be 0, fixes warning
on MSVC (#492114).
* gst-libs/gst/audio/gstringbuffer.h:
No trailing commas in enum list (for gcc-2.9x).
* gst/videotestsrc/videotestsrc.c: (random_char):
Make information loss explicit instead of implicitly truncating to
eight bits via the return value.  Fixes runtime error on MSVC when
using the debug CRT (#492114).
* win32/common/config.h.in:
Fix a bunch of '#undef FOO bar', which MSVC doesn't like (#492114).
* win32/common/libgstinterfaces.def:
* win32/common/libgstrtp.def:
Export a few more symbols (#492114).
2007-11-01 12:51:57 +00:00
Tim-Philipp Müller
5861f366a0 gst/audioconvert/gstaudioconvert.c: Preserve channel layout when fixating the number of channels in the output caps, ...
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.
2007-10-31 17:54:48 +00:00
Tim-Philipp Müller
4c0e44de0f gst/playback/: Post nice/more useful error message if we don't have a decoder for the primary type.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (close_pad_link), (type_found):
* gst/playback/gstdecodebin2.c: (analyze_new_pad):
Post nice/more useful error message if we don't have a decoder for
the primary type.
2007-10-30 15:54:46 +00:00
Wim Taymans
b55c61c933 gst/playback/gstdecodebin2.c: Be a bit more useful, unblock the pads after we fired the no-more-pads signal so that w...
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_group_expose):
Be a bit more useful, unblock the pads after we fired the no-more-pads
signal so that we can use the signal to inspect and connect all pads
without having to keep extra state outside of decodebin.
2007-10-30 15:07:58 +00:00
Wim Taymans
b68d48e6bd gst/playback/gsturidecodebin.c: Implement default signal handler so that we return TRUE when nothing is connected.
Original commit message from CVS:
* gst/playback/gsturidecodebin.c:
(gst_uri_decode_bin_autoplug_continue),
(gst_uri_decode_bin_class_init), (no_more_pads_full):
Implement default signal handler so that we return TRUE when nothing is
connected.
2007-10-30 15:00:06 +00:00
Wim Taymans
8c20347774 gst/playback/gstdecodebin2.c: Move subtitle encoding property to decodebin2 so that it can set the property value on ...
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
(gst_decode_bin_dispose), (gst_decode_bin_set_caps),
(gst_decode_bin_set_subs_encoding),
(gst_decode_bin_get_subs_encoding), (gst_decode_bin_set_property),
(gst_decode_bin_get_property), (analyze_new_pad):
Move subtitle encoding property to decodebin2 so that it can set the
property value on all elements that it autoplugs and that require it.
Make caps refcounting more consistent in get/set.
* gst/playback/gsturidecodebin.c: (_gst_boolean_accumulator),
(gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init),
(gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_property),
(gst_uri_decode_bin_get_property), (proxy_unknown_type_signal),
(proxy_autoplug_continue_signal),
(proxy_autoplug_factories_signal), (proxy_autoplug_select_signal),
(make_decoder):
Proxy properties and relevant signals from the internal decodebin.
Make properties MT safe.
2007-10-25 17:36:49 +00:00
Wim Taymans
77cef56895 gst/playback/: Remove the autoplug-sort signal and replace it with a binding friendly autoplug-select signal.
Original commit message from CVS:
Inspired by patch of: René Stadler <mail at renestadler dot de>
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
(gst_decode_bin_autoplug_continue),
(gst_decode_bin_autoplug_factories),
(gst_decode_bin_autoplug_select), (analyze_new_pad), (connect_pad),
(find_compatibles):
* gst/playback/gstplay-marshal.list:
Remove the autoplug-sort signal and replace it with a binding friendly
autoplug-select signal.
Add an autoplug-factories signal that can be used to generate a list of
factories to try to autoplug.
Add the GstPad to the autoplugging signal args as it might be needed to
make a good factory selection.
Fix up the marshallers for this. Fixes #407282.
2007-10-24 11:07:57 +00:00
Wim Taymans
d33d2be0ed gst/playback/gstdecodebin.c: Make the window for a race in typefind and shutting down smaller until we figure out the...
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (new_pad), (type_found):
Make the window for a race in typefind and shutting down smaller until
we figure out the right locking here. Avoids #485753 usually.
* gst/playback/gstdecodebin2.c: (type_found), (pad_added_group_cb):
Remove unneeded lock causing a race in typefind and shutting down.
Fixes #485753.
* gst/playback/gstplaybin.c: (gst_play_bin_change_state):
Also remove sinks when going to NULL because we might not complete the
state change to PAUSED, causing the PAUSED->READY state change not to
happen.
2007-10-16 16:48:38 +00:00
Wim Taymans
b6a80a4e42 gst/playback/gstqueue2.c: Fix queue negotiation. See #486758.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_push_one):
Fix queue negotiation. See #486758.
2007-10-15 11:38:39 +00:00
Wim Taymans
d0897a3528 gst/playback/: Don't disconnect the have_type signal because we never reconnect it later on. Instead keep a variable ...
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (type_found),
(gst_decode_bin_change_state):
* gst/playback/gstdecodebin2.c: (type_found),
(gst_decode_bin_change_state):
Don't disconnect the have_type signal because we never reconnect it
later on. Instead keep a variable to see if we already detected a type.
2007-10-08 17:12:32 +00:00
Wim Taymans
ecb6c19729 gst/playback/: Unlink the signal handler when we found the type, we're not going to do anything sensible with more ty...
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (add_fakesink), (type_found):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_init),
(type_found):
Unlink the signal handler when we found the type, we're not going to do
anything sensible with more type_found signals anyway.
2007-10-08 10:47:26 +00:00
Wim Taymans
818434b664 gst/typefind/gsttypefindfunctions.c: Add typefind function for application/sdp.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (utf8_type_find),
(sdp_check_header), (sdp_type_find), (plugin_init):
Add typefind function for application/sdp.
Remove some old dirac typefind code that was ifdeffed out.
2007-10-01 10:22:46 +00:00
Wim Taymans
9f04b80b90 gst/playback/gstqueue2.c: Fix compilation wrt printf arguments.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_push_one):
Fix compilation wrt printf arguments.
2007-09-21 14:37:26 +00:00
Jan Schmidt
d5996e9c37 Fix a bunch of compile warnings shown with Forte.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_set_property):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix),
(gst_rtcp_unix_to_ntp):
* gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_get_type):
* gst/playback/gstqueue2.c:
* tests/examples/seek/seek.c: (set_scale):
Fix a bunch of compile warnings shown with Forte.
* gst/audiorate/gstaudiorate.c:
Always pull in config.h before including any system headers.
2007-09-17 17:24:55 +00:00
Wim Taymans
d133f1548e gst/playback/gstqueue2.c: Also fix #476514 for queue2.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (update_buffering),
(gst_queue_locked_flush), (gst_queue_locked_enqueue),
(gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_push_one), (gst_queue_sink_activate_push),
(gst_queue_src_activate_push), (gst_queue_src_activate_pull):
Also fix #476514 for queue2.
2007-09-17 16:22:17 +00:00
Julien Moutte
87f2e70427 gst/typefind/gsttypefindfunctions.c: Add some typefind for QCP files (RFC #3625)
Original commit message from CVS:
2007-09-14  Julien MOUTTE  <julien@moutte.net>

* gst/typefind/gsttypefindfunctions.c: (plugin_init): Add some
typefind for QCP files (RFC #3625)
2007-09-14 10:42:00 +00:00
Josep Torra Valles
1004fb0603 gst/playback/gstplaybasebin.c: Increase upper limit for audio queue a bit; fixes preroll problem with playbin and dec...
Original commit message from CVS:
Patch by: Josep Torra Valles <josep@fluendo.com>
* gst/playback/gstplaybasebin.c:
Increase upper limit for audio queue a bit; fixes preroll problem
with playbin and decodebin2 when playing a quicktime trailer with
multichannel audio via http (#464666).
2007-09-11 11:29:12 +00:00
Stefan Kost
3df6b8ad42 gst/playback/gstdecodebin2.c: Don't leak request pads. Fixes #475395.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c:
Don't leak request pads. Fixes #475395.
2007-09-10 12:05:34 +00:00
Sebastian Dröge
6fa7788c5d Revert the latest change: floating point samples are allowed to have any value, not only values in the range [-1,1]. ...
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_choose_func):
* tests/check/elements/volume.c: (GST_START_TEST):
Revert the latest change: floating point samples are allowed to
have any value, not only values in the range [-1,1]. Thanks to Andy
Wingo for noticing.
Also fix processing of int32 samples with volumes > 4 by making the
unity value smaller which prevents overflows.
2007-09-09 04:08:48 +00:00
Sebastian Dröge
6d7debb0bb gst/volume/gstvolume.c: Correctly clamp float/double samples in the [-1.0,1.0] range to prevent weird effects.
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_choose_func),
(volume_process_double), (volume_process_double_clamp),
(volume_process_float_clamp):
Correctly clamp float/double samples in the [-1.0,1.0] range to
prevent weird effects.
* tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
Add unit tests for all samples types that had none before.
2007-09-05 21:20:12 +00:00
Tim-Philipp Müller
12728158b5 gst/playback/gststreaminfo.c: Fix build.
Original commit message from CVS:
* gst/playback/gststreaminfo.c:
Fix build.
2007-09-05 14:01:25 +00:00
Stefan Kost
53c6315b6b gst/playback/gststreaminfo.c: Clean up some half-disabled code and comment.
Original commit message from CVS:
* gst/playback/gststreaminfo.c:
Clean up some half-disabled code and comment.
2007-09-05 10:32:09 +00:00
Johan Dahlin
417107b40e gst/typefind/gsttypefindfunctions.c (plugin_init): Add an audio/x-nsf typefind function for the nsfdec element.
Original commit message from CVS:
2007-09-03  Johan Dahlin  <jdahlin@async.com.br>

* gst/typefind/gsttypefindfunctions.c (plugin_init):
Add an audio/x-nsf typefind function for the nsfdec element.
2007-09-04 01:50:55 +00:00
Renato Filho
ac042e8869 gst/playback/gstplaybasebin.c: Included "myth://" on stream_uris list for enable buffering to mythtv files
Original commit message from CVS:
* gst/playback/gstplaybasebin.c:
Included "myth://" on stream_uris list for enable buffering to mythtv files
2007-09-03 20:46:38 +00:00
Stefan Kost
d2d03ba2f6 The tcp and subparse plugins are under gst, but not totaly free of dependencies. Handle selection inconfigure.ac, so ...
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
The tcp and subparse plugins are under gst, but not totaly free of
dependencies. Handle selection inconfigure.ac, so that they show up
on the final list of what is build and what is not. Maybe they should
better be moved to ext.
2007-08-30 07:29:55 +00:00
Daniel Díaz
b2f2cfc132 Check if libxml provides HTML parser which subparse needs.
Original commit message from CVS:
Patch by: Daniel Díaz  <yosoy@danieldiaz.org>
* configure.ac:
* gst/Makefile.am:
Check if libxml provides HTML parser which subparse needs.
Fixes #451970.
2007-08-30 06:58:46 +00:00
Tim-Philipp Müller
bed6719df7 gst/subparse/gstssaparse.c: Convert SSA newline codes into actual newline characters (#470766).
Original commit message from CVS:
* gst/subparse/gstssaparse.c:
Convert SSA newline codes into actual newline characters (#470766).
2007-08-29 12:16:46 +00:00
Jan Schmidt
973bbf88af gst/playback/gstdecodebin.c: We need to set up delayed-linking whenever the caps are non-fixed, not just when there a...
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (close_pad_link):
We need to set up delayed-linking whenever the caps are non-fixed,
not just when there are multiple types - use gst_pad_is_fixed()
to test.
2007-08-27 11:59:56 +00:00
Jan Schmidt
fc50d2dc64 ext/alsa/Makefile.am: There is no GST_PLUGINS_BASE_LIBS defined.
Original commit message from CVS:
* ext/alsa/Makefile.am:
There is no GST_PLUGINS_BASE_LIBS defined.
* ext/alsa/gstalsa.c:
* ext/alsa/gstalsasink.c: (gst_alsasink_delay):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_delay):
Add support for ALSA 24-bit formats.
snd_pcm_delay can return an error code, especially
during XRUNS. In that case, the best we can do is assume
delay = 0.
* gst/audioconvert/Makefile.am:
Add flags from -base before any more-remote dependencies.
2007-08-24 15:28:33 +00:00
Davyd
bad084b01e gst/volume/gstvolume.*: Add support for int32, int24 and int8 to the volume element.
Original commit message from CVS:
Based on a patch by: Davyd <davyd at madeley dot id dot au>
* gst/volume/gstvolume.c: (volume_choose_func),
(volume_update_real_volume), (gst_volume_set_volume),
(gst_volume_init), (volume_process_int32),
(volume_process_int32_clamp), (volume_process_int24),
(volume_process_int24_clamp), (volume_process_int16),
(volume_process_int16_clamp), (volume_process_int8),
(volume_process_int8_clamp), (volume_update_volume), (plugin_init):
* gst/volume/gstvolume.h:
Add support for int32, int24 and int8 to the volume element.
Fixes #445529.
2007-08-23 20:45:45 +00:00
Stefan Kost
a5e777fac3 Original commit message from CVS:
reviewed by: <delete if not using a buddy>
patch by: <delete if not someone else's patch>
* configure.ac:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/gnomevfs/gstgnomevfssrc.h:
* gst-libs/gst/Makefile.am:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst/typefind/gsttypefindfunctions.c:
* gst/volume/gstvolume.c:
* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
* pkgconfig/gstreamer-plugins-base.pc.in:
* sys/v4l/v4lsrc_calls.c:
* tests/examples/Makefile.am:
* win32/common/config.h:
2007-08-23 08:33:43 +00:00
Stefan Kost
64b4aedf97 gst/volume/gstvolume.c: Enable liboil for float and add more details about problems with int16.
Original commit message from CVS:
* gst/volume/gstvolume.c:
Enable liboil for float and add more details about problems with
int16.
2007-08-22 11:20:28 +00:00
Wim Taymans
5c59b5a2aa gst/playback/gstplaybasebin.c: Only post buffering messages when we are a stream.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (queue_threshold_reached):
Only post buffering messages when we are a stream.
2007-08-16 11:20:56 +00:00
Michael Smith
1b7a0df57e gst/audiorate/gstaudiorate.c: Debug output fixes.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
Debug output fixes.
* tests/check/elements/audiorate.c: (do_perfect_stream_test),
(GST_START_TEST):
Change the number of buffers used; 500 is too many and leads to
timeouts.
2007-08-10 13:55:44 +00:00
Tim-Philipp Müller
2c9bef0180 gst/: Printf format fixes (#465028).
Original commit message from CVS:
* gst/playback/gstqueue2.c:
* gst/videorate/gstvideorate.c:
Printf format fixes (#465028).
2007-08-10 10:08:05 +00:00
Michael Smith
9f9e76bc99 gst/audiorate/gstaudiorate.c: If we have a large (> 1 second) discontinuity, push a series of smaller buffers rather ...
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
If we have a large (> 1 second) discontinuity, push a series of
smaller buffers rather than a single very large buffer. Avoids
unreasonably large single buffer allocations when encountering a
large gap.
* tests/check/elements/audiorate.c: (GST_START_TEST),
(audiorate_suite):
Add a test for this.
2007-08-09 15:44:02 +00:00
Josep Torra Valles
9730f452ee gst/playback/gstplaybasebin.c: Fixes: #465015
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (group_commit),
(queue_remove_probe), (queue_threshold_reached):
Patch by: Josep Torra Valles <josep@fluendo.com>
Fixes: #465015
Make sure we remove the check_queues buffer probe from the
correct queue to avoid racily going back to "buffering 99%" when
buffering is actually complete.
Also, fix the spelling of Josep's surname in the ChangeLog.
2007-08-09 12:06:43 +00:00
Josep Torre Valles
382b710277 Add connection-speed property. Fixes #464690.
Original commit message from CVS:
Patch by: Josep Torre Valles <josep@fluendo.com>
* docs/plugins/gst-plugins-base-plugins.args:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init),
(gst_uri_decode_bin_init), (gst_uri_decode_bin_set_property),
(gst_uri_decode_bin_get_property), (gen_source_element):
Add connection-speed property. Fixes #464690.
2007-08-08 15:05:22 +00:00
Josep Torre Valles
5e5aa7b402 gst/playback/: Move connection-speed property from playbin to playbasebin so that we can also configure it in source ...
Original commit message from CVS:
Patch by: Josep Torre Valles <josep@fluendo.com>
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(gst_play_base_bin_init), (queue_threshold_reached),
(gen_source_element), (setup_substreams),
(gst_play_base_bin_set_property), (gst_play_base_bin_get_property),
(gst_play_base_bin_get_streaminfo_value_array):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(gst_play_bin_set_property), (gst_play_bin_get_property),
(gst_play_bin_handle_redirect_message):
Move connection-speed property from playbin to playbasebin so that we
can also configure it in source elements that have the connection-speed
property. Fixes #464028.
Add some debug info here and there.
2007-08-07 14:14:54 +00:00
Sebastian Dröge
5310373def gst/audiotestsrc/gstaudiotestsrc.c: Properly respond to conversion queries. Fixes #464079.
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_query):
Properly respond to conversion queries. Fixes #464079.
2007-08-06 16:42:22 +00:00
Sebastian Dröge
6f397125d1 gst/audiotestsrc/gstaudiotestsrc.*: Add float/double and int32 support to audiotestsrc. Fixes #460422.
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_init),
(gst_audio_test_src_src_fixate), (gst_audio_test_src_setcaps),
(gst_audio_test_src_init_sine_table),
(gst_audio_test_src_change_wave), (gst_audio_test_src_create):
* gst/audiotestsrc/gstaudiotestsrc.h:
Add float/double and int32 support to audiotestsrc. Fixes #460422.
Also set the default volume to the default value specified in the
GParamSpec.
2007-08-03 19:53:11 +00:00
Jens Granseuer
ef33f2fdc4 gst/audioconvert/gstaudioquantize.c: Fix C89 incompatibilities and spelling of explanations. Fixes #463215.
Original commit message from CVS:
Patch by: Jens Granseuer <jensgr at gmx dot net>
* gst/audioconvert/gstaudioquantize.c:
Fix C89 incompatibilities and spelling of explanations. Fixes #463215.
2007-08-03 19:40:14 +00:00
Dan Williams
ace9335ae3 gst/playback/gstplaybasebin.c: Don't return NULL when querying the stream info value array but instead return an empt...
Original commit message from CVS:
Patch by: Dan Williams <dcbw at redhat dot com>
* gst/playback/gstplaybasebin.c:
(gst_play_base_bin_get_streaminfo_value_array):
Don't return NULL when querying the stream info value array but instead
return an empty array. Fixes #459204.
2007-07-23 11:18:35 +00:00
Tim-Philipp Müller
2271ec928f gst/playback/gsturidecodebin.c: Init debug category before using it.
Original commit message from CVS:
* gst/playback/gsturidecodebin.c:
Init debug category before using it.
2007-07-23 10:41:18 +00:00
Wim Taymans
e59c110631 gst/videorate/gstvideorate.c: Use boilerplate.
Original commit message from CVS:
* gst/videorate/gstvideorate.c: (gst_video_rate_init),
(gst_video_rate_query):
Use boilerplate.
Add latency query, might not be perfect yet but already works a lot
better. Fixes #442557.
2007-07-13 18:12:19 +00:00
Jan Schmidt
b6ee0fa3d6 gst/ffmpegcolorspace/gstffmpegcodecmap.c: Fix the r_mask test for RGBA32 on little-endian.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_caps_to_pixfmt):
Fix the r_mask test for RGBA32 on little-endian.
Fix a stupid typo that would have obviously broken
compilation on big-endian, if anyone was testing.
2007-07-13 15:52:02 +00:00
Wim Taymans
3bac564cc0 gst/videotestsrc/videotestsrc.*: Add alpha to the color struct.
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.c: (paint_hline_AYUV),
(paint_hline_str4):
* gst/videotestsrc/videotestsrc.h:
Add alpha to the color struct.
Use a default alpha value of 255 instead of 128.
2007-07-12 15:02:43 +00:00
Wim Taymans
c03d6a8757 gst/playback/gstplaybasebin.c: Clear the dynamic pads counter when starting a new uri. This makes reusing playbin wor...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (no_more_pads_full),
(setup_source):
Clear the dynamic pads counter when starting a new uri. This makes
reusing playbin work again.
Fixes #454264.
2007-07-12 12:01:20 +00:00
Jan Schmidt
6fa26a44e3 gst/ffmpegcolorspace/: Add 2 new pixel formats - ABGR32 and ARGB32, which are reflections of the existing BGRA32 and ...
Original commit message from CVS:
* gst/ffmpegcolorspace/avcodec.h:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt),
(gst_ffmpegcsp_avpicture_fill):
* gst/ffmpegcolorspace/imgconvert.c: (img_convert),
(img_get_alpha_info):
Add 2 new pixel formats - ABGR32 and ARGB32, which are reflections
of the existing BGRA32 and RGBA32 formats with the alpha at the other
end of the word. Partially fixes #451908
2007-07-06 11:40:45 +00:00
Wim Taymans
d42ca1fd83 gst/adder/gstadder.c: Make getcaps more robust by not using the proxycaps function. This makes sure that we don't end...
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_sink_getcaps),
(gst_adder_request_new_pad):
Make getcaps more robust by not using the proxycaps function. This makes
sure that we don't end up recursively calling getcaps upstream.
See #316248.
2007-07-03 11:52:47 +00:00
Wim Taymans
d4dfef2a0b gst/audioconvert/audioconvert.c: Include math.h to fix compilation.
Original commit message from CVS:
* gst/audioconvert/audioconvert.c:
Include math.h to fix compilation.
2007-06-29 17:21:18 +00:00
Jan Schmidt
cae46813ca gst/ffmpegcolorspace/gstffmpegcodecmap.c: Add a mapping for YUV format "IYU1", which is a 4:1:1 packed pixel format, ...
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt):
Add a mapping for YUV format "IYU1", which is a 4:1:1 packed pixel
format, as produced by some dc1394 cameras like the iSight.
See http://www.fourcc.org/yuv.php#IYU1
2007-06-29 14:47:42 +00:00
Sebastian Dröge
dbb857b93b gst/audioconvert/: Implement dithering and noise shaping in audioconvert. By default now
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.
2007-06-28 20:37:58 +00:00
Wim Taymans
8c05f2ebc9 gst/playback/gstqueue2.c: Use other metrics as well when estimating the buffer level.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (apply_segment), (update_buffering):
Use other metrics as well when estimating the buffer level.
2007-06-28 11:06:56 +00:00
Wim Taymans
aac5185f3e gst/playback/gstplaybasebin.c: Small debug improvement.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (make_decoder), (setup_source):
Small debug improvement.
* gst/playback/gstqueue2.c: (apply_segment), (update_buffering),
(plugin_init):
Tweak the rate estimation period.
When calculating the buffer filledness in rate estimation mode, don't
mix it with other metrics.
2007-06-28 10:21:19 +00:00
Wim Taymans
c198d8000c gst/playback/gstdecodebin2.c: When creating the groups, allow for a 5 second, unlimited buffers preroll phase after w...
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_group_new),
(gst_decode_group_expose), (gst_decode_group_free), (add_fakesink):
When creating the groups, allow for a 5 second, unlimited buffers
preroll phase after which we expose the group.
When the group is exposed, use a small number of buffers up to a 2
second limit. Also disconnect the overrun signal from multiqueue when we
exposed the group because it is not needed anymore.
2007-06-28 09:46:11 +00:00
Edward Hervey
fa877be84c ext/ogg/gstoggdemux.c: The chain should be freed if we error out here, else it will leak.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_find_chains):
The chain should be freed if we error out here, else it will leak.
* gst/playback/gstdecodebin.c: (disconnect_unlinked_signals),
(cleanup_decodebin):
Don't forget to *properly* remove the signals, else it will leak.
2007-06-23 14:44:07 +00:00
Wim Taymans
3b2762a5b2 gst/playback/gstdecodebin2.c: When handling a delayed-caps notification case, mark the group as dynamic so that the n...
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (analyze_new_pad):
When handling a delayed-caps notification case, mark
the group as dynamic so that the nbdynamic count is
incremented and decremented correctly. Fixes: #449156
Patch by: Wim Taymans <wim@fluendo.com>
2007-06-20 11:09:03 +00:00
David Schleef
c4c28a764a gst/playback/gstqueue2.c: Fix compile error from ignored return value.
Original commit message from CVS:
* gst/playback/gstqueue2.c:
Fix compile error from ignored return value.
2007-06-16 03:42:14 +00:00
Michael Smith
6077bc0124 gst/videoscale/vs_4tap.c: Update tmpbuf for all neccesary rows, not just one, as is required when downscaling.
Original commit message from CVS:
* gst/videoscale/vs_4tap.c: (vs_image_scale_4tap_Y):
Update tmpbuf for all neccesary rows, not just one, as is required
when downscaling.
Fixes #402076.
2007-06-15 15:23:36 +00:00
Edward Hervey
be1f78d2e2 gst/playback/gstqueue2.c: Fix build on MacOSX.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_create_read):
Fix build on MacOSX.
2007-06-13 18:20:57 +00:00
Wim Taymans
2e541b29d4 gst/playback/gstqueue2.c: Fix a division by zero when the max percent is <= 0. Fixes #446572. also update the bufferi...
Original commit message from CVS:
Patches by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (update_buffering),
(gst_queue_locked_enqueue):
Fix a division by zero when the max percent is <= 0. Fixes #446572.
also update the buffering status when receiving events. Fixes #446551.
2007-06-12 08:38:06 +00:00
Thiago Sousa Santos
4d83551490 gst/playback/gstqueue2.c: Wait for preroll before attempting to forward a duration query upstream.
Original commit message from CVS:
Based on patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (gst_queue_peer_query),
(gst_queue_handle_src_query):
Wait for preroll before attempting to forward a duration query upstream.
Fixes #445505.
2007-06-11 11:32:26 +00:00
Wim Taymans
919029d9c5 gst/playback/gstqueue2.c: Fix compilation.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_get_range):
Fix compilation.
2007-06-07 09:11:27 +00:00
Thiago Sousa Santos
658fbf5039 gst/playback/gstqueue2.c: Add pull based scheduling and fix some deadlocks. Fixes #444523.
Original commit message from CVS:
Patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (gst_queue_init),
(gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_get_range), (gst_queue_src_checkgetrange_function),
(gst_queue_sink_activate_push), (gst_queue_src_activate_push),
(gst_queue_src_activate_pull):
Add pull based scheduling and fix some deadlocks. Fixes #444523.
Does not yet completely work because duration queries upstream won't
block yet.
2007-06-06 13:36:26 +00:00
Wim Taymans
1a31080014 Some more fseeko checks.
Original commit message from CVS:
* configure.ac:
* gst/playback/gstqueue2.c: (gst_queue_create_read):
Some more fseeko checks.
2007-06-06 09:08:50 +00:00
Sven Arvidsson
0cffe4be7d gst/subparse/gstsubparse.*: Add support for SubViewer version 1 and 2 subtitles. Fixes #394061.
Original commit message from CVS:
Based on a patch by Sven Arvidsson <sa at whiz dot se>:
* gst/subparse/gstsubparse.c: (parse_subrip),
(subviewer_unescape_newlines), (parse_subviewer),
(gst_sub_parse_data_format_autodetect),
(gst_sub_parse_format_autodetect), (gst_subparse_type_find):
* gst/subparse/gstsubparse.h:
Add support for SubViewer version 1 and 2 subtitles. Fixes #394061.
* tests/check/elements/subparse.c: (GST_START_TEST),
(subparse_suite):
Add a unit test for both SubViewer formats.
2007-06-05 21:36:11 +00:00
Michael Smith
6499fcdc2e gst/audiotestsrc/gstaudiotestsrc.c: Don't overflow intermediate values when seeking to large time values in audiotest...
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_do_seek):
Don't overflow intermediate values when seeking to large time values
in audiotestsrc.
2007-06-05 17:08:04 +00:00
Wim Taymans
837d4b1bb9 gst/playback/gstqueue2.c: Include stdio to define fseeko.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_have_data),
(gst_queue_create_read), (gst_queue_read_item_from_file),
(gst_queue_open_temp_location_file), (gst_queue_locked_enqueue):
Include stdio to define fseeko.
2007-06-05 17:02:13 +00:00
Wim Taymans
d4bb17ab7a gst/playback/gsturidecodebin.c: Make sure we name srcpads uniquely even when using different internal decodebins.
Original commit message from CVS:
* gst/playback/gsturidecodebin.c: (no_more_pads_full),
(new_decoded_pad), (remove_pads), (make_decoder), (setup_source),
(gst_uri_decode_bin_change_state):
Make sure we name srcpads uniquely even when using different internal
decodebins.
Signal no-more-pads when no more dynamic elements exist.
Remove pads on cleanup.
2007-06-05 16:17:30 +00:00
Thiago Sousa Santos
73e8934af9 gst/playback/gstqueue2.c: Add support for filebased buffering. Fixes #441264.
Original commit message from CVS:
Based on patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (gst_queue_class_init),
(gst_queue_init), (gst_queue_finalize),
(gst_queue_write_buffer_to_file), (gst_queue_have_data),
(gst_queue_create_read), (gst_queue_read_item_from_file),
(gst_queue_open_temp_location_file),
(gst_queue_close_temp_location_file), (gst_queue_locked_flush),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_is_empty), (gst_queue_is_filled),
(gst_queue_change_state), (gst_queue_set_temp_location),
(gst_queue_set_property):
Add support for filebased buffering. Fixes #441264.
2007-06-05 16:14:23 +00:00
Wim Taymans
3840b5a20f gst/playback/gstdecodebin2.c: Add support for delayed caps fixation when autoplugging.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter),
(analyze_new_pad), (connect_pad), (expose_pad), (caps_notify_cb),
(caps_notify_group_cb), (gst_decode_group_new),
(gst_decode_group_free):
Add support for delayed caps fixation when autoplugging.
Optimize cases where a multiqueue is not needed/wanted, like right after
anything that is not a demuxer.
2007-06-05 16:05:19 +00:00
Wim Taymans
56e2a6b516 gst/tcp/gstmultifdsink.*: Add support for remuve_flush.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_client_status_get_type),
(gst_multi_fd_sink_class_init), (gst_multi_fd_sink_add_full),
(gst_multi_fd_sink_remove_flush),
(gst_multi_fd_sink_remove_client_link),
(gst_multi_fd_sink_handle_client_write),
(gst_multi_fd_sink_handle_clients):
* gst/tcp/gstmultifdsink.h:
Add support for remuve_flush.
2007-06-05 16:00:33 +00:00
Wim Taymans
5deb6e096d gst/playback/gstplaybasebin.c: Stop buffering when the group is commited because the queues filled up.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (queue_overrun),
(no_more_pads_full):
Stop buffering when the group is commited because the queues filled up.
Fixes #442024.
2007-05-29 13:38:35 +00:00
Jan Schmidt
d9504cf065 gst/playback/gstplaybasebin.c: Handle unknown or invalid pads without crashing, as might occur if a media file like a...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (new_decoded_pad_full):
Handle unknown or invalid pads without crashing, as might occur if
a media file like an mp3 is specified as a subtitle file.
Fixes: #410039
2007-05-24 11:15:32 +00:00
Jan Schmidt
c446f911d4 gst/playback/gstplaybin.c: Block the subtitle bin output queue before ghosting it and linking, then unblock after. Th...
Original commit message from CVS:
* gst/playback/gstplaybin.c: (add_sink), (dummy_blocked_cb),
(setup_sinks):
Block the subtitle bin output queue before ghosting it and linking,
then unblock after. This avoids spurious not-linked errors caused
by the queue starting up (because it gets linked when it is ghosted).
Fixes: #350299
2007-05-24 10:19:54 +00:00
Wim Taymans
9b188adc27 Small cleanups.
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_read_sector):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Small cleanups.
* ext/theora/theoradec.c: (theora_dec_sink_event):
Fix typo.
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_set_gst_timestamp):
Add some FIXME
* gst/playback/gstdecodebin.c: (queue_underrun_cb):
And some debug info when a FIXME path is hit.
2007-05-21 10:25:44 +00:00
Stefan Kost
e7c3ddf3fc gst-libs/gst/audio/gstbaseaudiosink.c
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_change_state):
Fix typo in comment.
* gst/playback/gstdecodebin.c (gst_decode_bin_class_init,
free_dynamics, pad_probe, close_pad_link, try_to_link_1,
get_our_ghost_pad, remove_element_chain, queue_underrun_cb,
close_link):
* gst/playback/gstplaybin.c (gst_play_bin_set_property,
gen_audio_element, remove_sinks, gst_play_bin_send_event_to_sink):
Remove trailing whitespaces in comments.
* gst/volume/Makefile.am:
Fix tabs.
2007-05-18 15:23:43 +00:00
Wim Taymans
a18a10e81f gst/playback/gstdecodebin2.c: Make decodebin2 autoplug depayloaders too.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter):
Make decodebin2 autoplug depayloaders too.
* gst/playback/gsturidecodebin.c: (source_new_pad):
Set the newly created decoder in a usable state when autoplugging a
dynamic source such as RTSP.
2007-05-17 16:27:32 +00:00
Tim-Philipp Müller
2cd5f527fe gst/playback/gststreaminfo.c: Ignore video-codec tag for audio streams and ignore audio-codec tags for video streams....
Original commit message from CVS:
* gst/playback/gststreaminfo.c: (cb_probe):
Ignore video-codec tag for audio streams and ignore audio-codec tags
for video streams. Should make codec name collection a bit more
robust against sloppy demuxers that send tag events containing both
tags down each pad.
2007-05-17 16:11:03 +00:00
Wim Taymans
d33939800d gst/playback/gstqueue2.c: Tweak the buffering thresholds a little.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (update_rates):
Tweak the buffering thresholds a little.
Update the buffer size with the previously calculate rate instead of
only when we calculate a new rate so that we get smoother buffering
updates.
* gst/playback/Makefile.am:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_base_init),
(gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init),
(gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_property),
(gst_uri_decode_bin_get_property), (unknown_type),
(add_element_stream), (no_more_pads_full), (no_more_pads),
(source_no_more_pads), (new_decoded_pad), (array_has_value),
(gen_source_element), (has_all_raw_caps), (analyse_source),
(remove_decoders), (make_decoder), (remove_source),
(source_new_pad), (setup_source), (decoder_query_init),
(decoder_query_duration_fold), (decoder_query_duration_done),
(decoder_query_position_fold), (decoder_query_position_done),
(decoder_query_latency_fold), (decoder_query_latency_done),
(decoder_query_seeking_fold), (decoder_query_seeking_done),
(decoder_query_generic_fold), (gst_uri_decode_bin_query),
(gst_uri_decode_bin_change_state), (plugin_init):
New element that intergrates a source, optional buffering element and
decodebin.
2007-05-17 15:22:44 +00:00
Wim Taymans
fa972968b2 gst/playback/gstqueue2.c: fix build.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_get_type),
(gst_queue_class_init), (gst_queue_finalize), (update_time_level),
(apply_segment), (apply_buffer), (update_buffering),
(reset_rate_timer), (update_rates), (gst_queue_locked_flush),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_handle_sink_event), (gst_queue_is_filled),
(gst_queue_chain), (gst_queue_push_one), (gst_queue_loop),
(plugin_init):
fix build.
2007-05-17 13:36:11 +00:00
Wim Taymans
ae69903ca1 gst/playback/: On our way to playbin2 this is the new network queue that does buffering all by itself using high and ...
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstqueue2.c: (gst_queue_get_type),
(gst_queue_class_init), (gst_queue_init), (gst_queue_finalize),
(gst_queue_getcaps), (gst_queue_bufferalloc),
(gst_queue_acceptcaps), (update_time_level), (apply_segment),
(apply_buffer), (update_buffering), (reset_rate_timer),
(update_rates), (gst_queue_locked_flush),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_handle_sink_event), (gst_queue_is_empty),
(gst_queue_is_filled), (gst_queue_chain), (gst_queue_push_one),
(gst_queue_loop), (gst_queue_handle_src_event),
(gst_queue_handle_src_query), (gst_queue_sink_activate_push),
(gst_queue_src_activate_push), (gst_queue_change_state),
(gst_queue_set_property), (gst_queue_get_property), (plugin_init):
On our way to playbin2 this is the new network queue that does buffering
all by itself using high and low watermarks. It can also measure up and
downstream bandwidth to optimally size the queue.
2007-05-17 11:57:44 +00:00
Michael Smith
ab76fa091a gst/: Use the segment->last_stop value to calculate the next timestamp to generate after a seek; not the segment->sta...
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_do_seek):
* gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_do_seek):
Use the segment->last_stop value to calculate the next timestamp to
generate after a seek; not the segment->start value.
2007-05-17 11:16:14 +00:00
David Schleef
c655a27ab4 gst/videotestsrc/videotestsrc.*: Add support for video/x-raw-bayer.
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Add support for video/x-raw-bayer.
2007-05-15 03:53:11 +00:00
Jan Schmidt
1e2c327792 gst/typefind/gsttypefindfunctions.c: Consolidate and re-work our mpeg system stream detection to probe more packets a...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg_sys_is_valid_pack),
(mpeg_sys_is_valid_pes), (mpeg_sys_is_valid_sys),
(mpeg_sys_type_find), (mpeg_ts_type_find), (mpeg4_video_type_find),
(mpeg_video_type_find), (mpeg_video_stream_type_find),
(plugin_init):
Consolidate and re-work our mpeg system stream detection to probe
more packets and produce a higher confidence result. Fixes a
regression caused by lowering the typefind probability last year
- related to bug #397810. Remove the redundant MPEG-1 specific
typefind function, as the new one detects both MPEG-1 & MPEG-2
happily.
Also cleanup the MPEG elementary and MPEG-TS detection functions a
little.
Tested against my media test directory, with some improvements and
no regressions.
2007-05-11 17:33:43 +00:00
Wim Taymans
56f01bc0cb gst/playback/gstplaybasebin.c: Connect to the new queue "pushing" signal instead of the broken "running" one.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (fill_buffer), (check_queue),
(queue_out_of_data):
Connect to the new queue "pushing" signal instead of the broken
"running" one.
2007-05-10 15:28:13 +00:00
Sébastien Moutte
c88306fe26 gst-libs/gst/rtp/gstbasertpaudiopayload.c: Move variable declaration before the first instruction.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_handle_frame_based_buffer):
Move variable declaration before the first instruction.
* gst/videotestsrc/videotestsrc.c:
Define M_PI if it's not defined yet.
* win32/common/libgstrtp.def:
Add new exported functions.
2007-05-09 21:17:40 +00:00
Stefan Kost
736a5c082f gst/adder/gstadder.c (gst_adder_src_event, gst_adder_collected, gst_adder_change_state): gst/adder/gstadder.h (bps, o...
Original commit message from CVS:
* gst/adder/gstadder.c (gst_adder_src_event, gst_adder_collected,
gst_adder_change_state):
* gst/adder/gstadder.h (bps, offset, collect_event, segment,
segment_pending, segment_position, segment_rate):
Handle playback-rate on adder.
2007-05-08 19:24:01 +00:00
Stefan Kost
64a9674bd2 gst/: gst/audiotestsrc/gstaudiotestsrc.c
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst/adder/gstadder.c:
* gst/audiotestsrc/gstaudiotestsrc.c
(gst_audio_test_src_create_white_noise):
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c (VOLUME_UNITY_INT16,
VOLUME_UNITY_INT16_BIT_SHIFT, VOLUME_MAX_DOUBLE,
volume_sink_template, volume_src_template, gst_volume_init,
volume_process_double, volume_process_int16,
volume_process_int16_clamp):
Doc fixes and formatting.
2007-05-04 13:10:07 +00:00
Michael Smith
03e4592e41 gst/audiorate/gstaudiorate.c: If a buffer doesn't have a timestamp, assume it's contiguous with the previous buffer, ...
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
If a buffer doesn't have a timestamp, assume it's contiguous with
the previous buffer, and synthesise timestamps appropriately.
2007-05-03 13:16:21 +00:00
Edward Hervey
25d28aae98 gst/videorate/gstvideorate.c: There is no sensible way to handle incoming buffers which don't have a valid timestamp....
Original commit message from CVS:
* gst/videorate/gstvideorate.c: (gst_video_rate_chain):
There is no sensible way to handle incoming buffers which don't have a
valid timestamp. We therefore discard them and wait for the next one.
2007-05-03 10:47:22 +00:00
Tim-Philipp Müller
997621c9b9 gst/playback/: Better error message for text files.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (type_found), (plugin_init):
* gst/playback/gstdecodebin2.c: (plugin_init):
Better error message for text files.
2007-05-01 18:45:36 +00:00
Julien Moutte
d299d1c063 ext/theora/theoradec.c: Calculate buffer duration correctly to generate a perfect stream (#433888).
Original commit message from CVS:
2007-04-27  Julien MOUTTE  <julien@moutte.net>

* ext/theora/theoradec.c: (_theora_granule_time),
(theora_dec_push_forward), (theora_handle_data_packet),
(theora_dec_decode_buffer): Calculate buffer duration correctly
to generate a perfect stream (#433888).
* gst/audioresample/gstaudioresample.c:
(audioresample_check_discont): Glib provides ABS.
2007-04-27 15:33:46 +00:00
Sebastian Dröge
84c824b952 gst/audioconvert/gstaudioconvert.c: Initalize the AudioConvertCtx with zeroes, otherwise it will contain pointers to ...
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.
2007-04-24 18:58:25 +00:00