Commit graph

155 commits

Author SHA1 Message Date
Wim Taymans
7ba0a36a07 seek: make stop state configurable
Make it easy to experiment with different stop states (NULL and READY)
2009-09-09 16:21:57 +02:00
Wim Taymans
4e898a661a seek: don't automatically start pipeline in DB
Keep the pipeline paused when we detect download buffering. The user has to
manually start the pipeline for now because we can't estimate when the buffering
will finish or when we have underrun.
2009-07-10 21:29:51 +01:00
Wim Taymans
40f404ad90 seek: add a checkbox for progressive download 2009-07-10 20:26:23 +01:00
Sebastian Dröge
79adfa544d Don't use deprecated GTK API
Fixes bug #585758.
2009-06-15 11:07:10 +02:00
Sebastian Dröge
81a0a98611 Don't use deprecated GTK API
Fixes bug #585758.
2009-06-14 20:32:03 +02:00
Wim Taymans
22cdc527a5 seek: add shuttle controls 2009-06-12 13:55:33 +02:00
Wim Taymans
8e71d0587b example: fix compile 2009-06-12 13:55:02 +02:00
Wim Taymans
54dc7b963f examples: build the stepping2 example 2009-06-12 13:52:25 +02:00
Wim Taymans
d3d661ec7f examples: add stepping example in PLAYING
Add stepping example in PLAYING, audio is a bit distorted because basesink does
not provide good clipping info yet.
2009-06-08 16:41:58 +02:00
Wim Taymans
bed4546fe0 ignore: add new stepping app to ignore 2009-06-03 15:52:54 +02:00
Wim Taymans
1ed7c25cfb examples: add stepping example.
Add an example of using playbin2 and frame stepping to simulate variable rate
playback based on a sine wave.
2009-06-03 15:31:27 +02:00
Wim Taymans
ea97973efe add framestepping to playbin2 and seek 2009-06-01 11:31:49 +02:00
Stefan Kost
5f69ffea56 seek: add volume label and sync with sink volume
Look at the volume and have the pulsemixer open at same time. Unfortunately
playbin2 does not emit notify on volume right, so this polls for now.
2009-05-28 09:49:29 +03:00
Stefan Kost
a3670c67fa seek: ui improvements
Repaint the window black on expose, as this looks nicer when resizing or using
the expander. Also show time after slider, as this saves a whole line (nice on
small displays).
2009-05-19 16:49:35 +03:00
Stefan Kost
98c93d6722 seek: use parser for mp3 and rename variable 2009-05-18 21:22:36 +03:00
Wim Taymans
46562ff1ca seek: add playbin2 options in expander
Add the playbin2 stream selection options inside an expander to preserve some
space on screen.
2009-05-18 11:08:56 +02:00
Wim Taymans
db20c378e7 seek: handle clock-lost messages
When we receive a clock-lost message we need to pause and play to select a new
clock.
2009-04-10 14:12:53 +02:00
Wim Taymans
c081c6b747 seek: print tags from the different tracks 2009-03-24 15:26:57 +01:00
Wim Taymans
153e07e125 seek: Add some more debug
Add some more info about the selected streams.
2009-03-20 16:13:06 +01:00
Alessandro Decina
8b0fadc2ff Make the seek and colorkey examples depend on gtk+-x11 as they use
Original commit message from CVS:
* configure.ac:
* tests/examples/seek/Makefile.am:
* tests/icles/Makefile.am:
Make the seek and colorkey examples depend on gtk+-x11 as they use
GDK_WINDOW_XID.
Fixes the build with gtk+-quartz.
2009-01-02 15:04:13 +00:00
Wim Taymans
029f358f80 tests/examples/seek/seek.c: Hook up the SKIP seek flag.
Original commit message from CVS:
* tests/examples/seek/seek.c: (do_seek), (stop_cb),
(skip_toggle_cb), (rate_spinbutton_changed_cb), (msg_segment_done),
(main):
Hook up the SKIP seek flag.
2008-12-11 10:28:43 +00:00
Stefan Kost
ca5d4c1fcb tests/examples/seek/seek.c: Don't crash when having no visualisations.
Original commit message from CVS:
* tests/examples/seek/seek.c:
Don't crash when having no visualisations.
2008-08-21 11:20:36 +00:00
Stefan Kost
99fdf0d770 tests/examples/seek/seek.c: Use 64 bit constant GST_CLOCK_TIME_NONE instead of plain -1.
Original commit message from CVS:
* tests/examples/seek/seek.c:
Use 64 bit constant GST_CLOCK_TIME_NONE instead of plain -1.
2008-07-24 13:19:26 +00:00
Sebastian Dröge
e4a3ac2c8c tests/examples/seek/Makefile.am: Fix out of tree build by adding all required CFLAGS.
Original commit message from CVS:
* tests/examples/seek/Makefile.am:
Fix out of tree build by adding all required CFLAGS.
2008-07-07 17:25:41 +00:00
Stefan Kost
2734b6da77 ChangeLog: ChangeLog surgery.
Original commit message from CVS:
* ChangeLog:
ChangeLog surgery.
* tests/examples/seek/seek.c:
Move variable into ifdef too.
2008-06-27 07:55:40 +00:00
Stefan Kost
724c8a3711 tests/examples/seek/seek.c: Include config.h and check if we have X. Fixes: #540334.
Original commit message from CVS:
* tests/examples/seek/seek.c:
Include config.h and check if we have X. Fixes: #540334.
2008-06-27 07:42:07 +00:00
Stefan Kost
0d4409ce49 tests/examples/seek/: Remove libgstvideo usage. Use gtk_get_option_group instead of gtk_init().
Original commit message from CVS:
* tests/examples/seek/Makefile.am:
* tests/examples/seek/seek.c:
Remove libgstvideo usage. Use gtk_get_option_group instead of
gtk_init().
2008-06-25 13:15:50 +00:00
Stefan Kost
7922f23bbf tests/examples/seek/: Embedd the xwindow.
Original commit message from CVS:
* tests/examples/seek/Makefile.am:
* tests/examples/seek/seek.c:
Embedd the xwindow.
2008-06-24 16:05:06 +00:00
Stefan Kost
540a3816e4 tests/examples/seek/seek.c: Fix crasher when playing a parse-launch line the 2nd time.
Original commit message from CVS:
* tests/examples/seek/seek.c:
Fix crasher when playing a parse-launch line the 2nd time.
2008-06-22 18:35:27 +00:00
Wim Taymans
24770f8f62 tests/examples/seek/seek.c: Free and clear the seek element list so that we don't use invalid references when seeking...
Original commit message from CVS:
* tests/examples/seek/seek.c: (stop_cb):
Free and clear the seek element list so that we don't use invalid
references when seeking after recreating a gst-launch line.
2008-06-20 09:14:26 +00:00
Tim-Philipp Müller
b82c4cee0e tests/examples/seek/seek.c: Initialise error to NULL as we should.
Original commit message from CVS:
* tests/examples/seek/seek.c: (make_parselaunch_pipeline):
Initialise error to NULL as we should.
2008-05-28 11:31:44 +00:00
Wim Taymans
c6b54c3d02 Don't use bad gst_element_get_pad().
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind):
* gst/playback/decodetest.c: (new_decoded_pad_cb):
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(try_to_link_1), (elem_is_dynamic), (close_link), (type_found),
(cleanup_decodebin):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_init),
(connect_element), (gst_decode_group_control_demuxer_pad):
* gst/playback/gstplaybasebin.c: (queue_remove_probe),
(queue_out_of_data), (gen_preroll_element), (preroll_unlinked),
(mute_group_type):
* gst/playback/gstplaybin.c: (gst_play_bin_vis_blocked),
(gst_play_bin_set_property), (handoff), (gen_video_element),
(gen_text_element), (gen_audio_element), (gen_vis_element),
(remove_sinks), (add_sink), (setup_sinks):
* gst/playback/gstplaybin2.c: (pad_added_cb), (no_more_pads_cb):
* gst/playback/gstplaysink.c: (gst_play_sink_get_video_sink),
(gst_play_sink_get_audio_sink), (gst_play_sink_vis_unblocked),
(gst_play_sink_vis_blocked), (gst_play_sink_set_vis_plugin),
(gst_play_sink_get_vis_plugin), (gst_play_sink_set_mute),
(gen_video_chain), (gen_text_chain), (gen_audio_chain),
(gen_vis_chain), (gst_play_sink_reconfigure),
(gst_play_sink_set_font_desc), (gst_play_sink_get_font_desc),
(gst_play_sink_request_pad):
* gst/playback/gsturidecodebin.c: (type_found), (setup_source):
* gst/playback/test.c: (gen_video_element), (gen_audio_element),
(cb_newpad):
* gst/playback/test6.c: (new_decoded_pad_cb):
* tests/check/elements/audioconvert.c: (GST_START_TEST):
* tests/check/elements/audiorate.c: (test_injector_chain),
(do_perfect_stream_test):
* tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST):
* tests/check/elements/gdpdepay.c: (GST_START_TEST):
* tests/check/elements/gnomevfssink.c:
* tests/check/elements/textoverlay.c:
(notgst_check_setup_src_pad2), (notgst_check_teardown_src_pad2):
* tests/check/elements/videotestsrc.c: (GST_START_TEST):
* tests/check/libs/cddabasesrc.c: (GST_START_TEST):
* tests/check/pipelines/oggmux.c: (test_pipeline):
* tests/check/pipelines/streamheader.c: (GST_START_TEST):
* tests/check/pipelines/theoraenc.c: (GST_START_TEST):
* tests/check/pipelines/vorbisenc.c: (GST_START_TEST):
* tests/examples/seek/scrubby.c: (make_wav_pipeline):
* tests/examples/seek/seek.c: (make_mod_pipeline),
(make_dv_pipeline), (make_wav_pipeline), (make_flac_pipeline),
(make_sid_pipeline), (make_parse_pipeline), (make_vorbis_pipeline),
(make_theora_pipeline), (make_vorbis_theora_pipeline),
(make_avi_msmpeg4v3_mp3_pipeline), (make_mp3_pipeline),
(make_avi_pipeline), (make_mpeg_pipeline), (make_mpegnt_pipeline),
(update_fill), (msg_buffering):
Don't use bad gst_element_get_pad().
2008-05-21 16:36:50 +00:00
Wim Taymans
f0738f6fd3 docs/design/draft-keyframe-force.txt: Fix typo.
Original commit message from CVS:
* docs/design/draft-keyframe-force.txt:
Fix typo.
* gst/playback/gstqueue2.c: (update_buffering),
(gst_queue_handle_src_query):
Set buffering mode in the messages.
Set buffering percent in the query.
* tests/examples/seek/seek.c: (update_fill), (msg_state_changed),
(do_stream_buffering), (do_download_buffering), (msg_buffering):
Do some more fancy things based on the buffering method in use.
2008-04-11 01:25:01 +00:00
Wim Taymans
ab83d90639 tests/examples/seek/seek.c: Add basic download reports to seek using the new buffering API.
Original commit message from CVS:
* tests/examples/seek/seek.c: (update_fill), (set_update_fill),
(play_cb), (pause_cb), (stop_cb), (msg_state_changed),
(msg_buffering), (main):
Add basic download reports to seek using the new buffering API.
2008-04-09 21:42:24 +00:00
Wim Taymans
6fcf33221f tests/examples/seek/seek.c: Add statusbar.
Original commit message from CVS:
* tests/examples/seek/seek.c: (play_cb), (pause_cb), (stop_cb),
(msg_buffering), (connect_bus_signals), (main):
Add statusbar.
Add buffering support with feedback in the statusbar.
2008-04-03 16:10:53 +00:00
Wim Taymans
f7d8a9a68c tests/examples/seek/seek.c: Rearrange some buttons in playbin2 and make some other boxes insensitive when needed.
Original commit message from CVS:
* tests/examples/seek/seek.c: (audio_toggle_cb), (video_toggle_cb),
(text_toggle_cb), (update_streams), (main):
Rearrange some buttons in playbin2 and make some other boxes insensitive
when needed.
Add language codes to subtitle selection boxes when we gind the right
tags for the streams.
2008-03-24 11:46:15 +00:00
Sebastian Dröge
ec7afb6f84 Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
Original commit message from CVS:
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_get_type):
* ext/alsa/gstalsasink.c: (set_hwparams):
* ext/alsa/gstalsasrc.c: (set_hwparams):
* ext/gio/gstgio.c: (gst_gio_uri_handler_get_uri):
* ext/ogg/gstoggmux.h:
* ext/ogg/gstogmparse.c:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/fft/kiss_fft_f64.c: (kiss_fft_f64_alloc):
* gst-libs/gst/pbutils/missing-plugins.c:
(gst_missing_uri_sink_message_new),
(gst_missing_element_message_new),
(gst_missing_decoder_message_new),
(gst_missing_encoder_message_new):
* gst-libs/gst/rtp/gstbasertppayload.c:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_packet_bye_get_reason):
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/ffmpegcolorspace/imgconvert.c:
* gst/playback/test.c: (gen_video_element), (gen_audio_element):
* gst/typefind/gsttypefindfunctions.c:
* gst/videoscale/vs_4tap.c:
* gst/videoscale/vs_4tap.h:
* sys/v4l/gstv4lelement.c:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get_any_caps):
* sys/v4l/v4l_calls.c:
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_init),
(gst_v4lsrc_try_capture):
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new):
* tests/check/elements/audioconvert.c:
* tests/check/elements/audioresample.c:
(fail_unless_perfect_stream):
* tests/check/elements/audiotestsrc.c: (setup_audiotestsrc):
* tests/check/elements/decodebin.c:
* tests/check/elements/gdpdepay.c: (setup_gdpdepay),
(setup_gdpdepay_streamheader):
* tests/check/elements/gdppay.c: (setup_gdppay), (GST_START_TEST),
(setup_gdppay_streamheader):
* tests/check/elements/gnomevfssink.c: (setup_gnomevfssink):
* tests/check/elements/multifdsink.c: (setup_multifdsink):
* tests/check/elements/textoverlay.c:
* tests/check/elements/videorate.c: (setup_videorate):
* tests/check/elements/videotestsrc.c: (setup_videotestsrc):
* tests/check/elements/volume.c: (setup_volume):
* tests/check/elements/vorbisdec.c: (setup_vorbisdec):
* tests/check/elements/vorbistag.c:
* tests/check/generic/clock-selection.c:
* tests/check/generic/states.c: (setup), (teardown):
* tests/check/libs/cddabasesrc.c:
* tests/check/libs/video.c:
* tests/check/pipelines/gio.c:
* tests/check/pipelines/oggmux.c:
* tests/check/pipelines/simple-launch-lines.c:
(simple_launch_lines_suite):
* tests/check/pipelines/streamheader.c:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisdec.c:
* tests/check/pipelines/vorbisenc.c:
* tests/examples/seek/scrubby.c:
* tests/examples/seek/seek.c: (query_positions_elems),
(query_positions_pads):
* tests/icles/stress-xoverlay.c: (myclock):
Correct all relevant warnings found by the sparse semantic code
analyzer. This include marking several symbols static, using
NULL instead of 0 for pointers and using "foo (void)" instead
of "foo ()" for declarations.
* win32/common/libgstrtp.def:
Add gst_rtp_buffer_set_extension_data to the symbol definition file.
2008-03-03 06:04:31 +00:00
Wim Taymans
8ef40f64a7 tests/examples/seek/seek.c: Add combo box for visualisations, populate it with a factory list of all visualisation pl...
Original commit message from CVS:
* tests/examples/seek/seek.c: (vis_toggle_cb), (filter_features),
(init_visualization_features), (vis_combo_cb), (shot_cb), (main):
Add combo box for visualisations, populate it with a factory list
of all visualisation plugins, configure vis plugin instance in
playbin2.
2008-02-27 12:19:31 +00:00
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
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
Julien Moutte
37df642086 tests/examples/seek/seek.c: Add some seek flags when changing rate.
Original commit message from CVS:
2008-02-12  Julien Moutte  <julien@fluendo.com>

* tests/examples/seek/seek.c: (rate_spinbutton_changed_cb): Add
some seek flags when changing rate.
2008-02-12 19:50:36 +00:00
Wim Taymans
8732cbbd47 tests/examples/seek/seek.c: Add some stream switching and volume gui for playbin2.
Original commit message from CVS:
* tests/examples/seek/seek.c: (stop_cb), (clear_streams),
(update_streams), (video_combo_cb), (audio_combo_cb),
(text_combo_cb), (volume_spinbutton_changed_cb), (main):
Add some stream switching and volume gui for playbin2.
2008-02-08 18:17:51 +00:00
Julien Moutte
4f26ec3cfd tests/examples/seek/seek.c: Make sure bus signals are reconnected when pressing STOP and then PLAY again for a parse ...
Original commit message from CVS:
2008-02-08  Julien Moutte  <julien@fluendo.com>

* tests/examples/seek/seek.c: (stop_cb), (connect_bus_signals),
(main): Make sure bus signals are reconnected when pressing STOP
and then PLAY again for a parse launch pipeline. Fix a ref leak
on the bus.
* win32/common/config.h: Updated.
2008-02-08 14:34:41 +00:00
Wim Taymans
bfe6a78043 tests/examples/seek/seek.c: Remove obsolete stream_time reset after flushing seek, core does that automatically now.
Original commit message from CVS:
* tests/examples/seek/seek.c: (do_seek),
(rate_spinbutton_changed_cb), (update_streams), (main):
Remove obsolete stream_time reset after flushing seek, core does that
automatically now.
Improve accuracy of speed spinbutton.
Only do playbin2 stuff when we actually use it.
2008-02-04 11:51:31 +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
Wim Taymans
1a75314aab tests/examples/seek/seek.c: Make sure we reset the slider value to 0.0 without racing against a possible g_idle that ...
Original commit message from CVS:
* tests/examples/seek/seek.c: (stop_cb):
Make sure we reset the slider value to 0.0 without racing against a
possible g_idle that sets it to something else.
2007-12-31 13:17:29 +00:00
Wim Taymans
d8e7a32aed tests/examples/seek/seek.c: Don't go to READY on EOS as this avoids testing of seeking and restarting after EOS, use ...
Original commit message from CVS:
* tests/examples/seek/seek.c: (msg_segment_done), (main):
Don't go to READY on EOS as this avoids testing of seeking and
restarting after EOS, use the stop button when you want to READY.
Don't try to do a flushing seek in segment-done, it does not make
sense to use this for gapless playback and is not needed.
2007-12-14 19:06:24 +00:00
Julien Moutte
1e20dcab0f tests/examples/seek/seek.c: Increase the range of the rate selector as I would like to test QOS behavior at higher fo...
Original commit message from CVS:
2007-11-24  Julien MOUTTE  <julien@moutte.net>

* tests/examples/seek/seek.c: (main): Increase the range of the
rate selector as I would like to test QOS behavior at higher
forward and reverse playback speed like say 64x.
2007-11-24 15:02:01 +00:00