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).
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.
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().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Original commit message from CVS:
2007-11-19 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (main): There's a nice macro to
check
GTK version, use it.
Original commit message from CVS:
2007-11-19 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (main): Try to support stable version
of GTK.
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.
Original commit message from CVS:
* tests/examples/seek/seek.c: (update_scale), (play_cb), (stop_cb),
(main):
Destroy and recreate parse-launch based pipeline after stop to be able
to play again. Reorder some code and add more comments.
Original commit message from CVS:
* tests/examples/seek/scrubby.c: (stop_cb), (main):
* tests/examples/seek/seek.c: (do_seek):
Some small cosmetic changes.
Original commit message from CVS:
2007-02-27 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek), (set_update_scale),
(msg_segment_done): Fix various seeking bugs (Slider was not
updating when doing a non flushing seek, Reverse playback
on segment seek was wrong).
Original commit message from CVS:
* tests/examples/seek/seek.c: (stop_seek):
When we stop scrubbing, don't leave the pipeline PLAYING when we
requested a PAUSED state.
Original commit message from CVS:
* tests/examples/seek/seek.c: (do_seek):
Undo the previous commit: -1 as a stop time implies that the stop
time is the end of file, clearing any previously configured segment.
Original commit message from CVS:
* tests/examples/seek/seek.c: (set_scale), (update_scale),
(do_seek), (stop_seek), (pause_cb), (stop_cb), (loop_toggle_cb),
(rate_spinbutton_changed_cb), (msg_eos), (msg_segment_done),
(main):
Allow to toggle looping while it plays. Fix callback prototype. Clean
up code a bit more. Add copyright header.
Original commit message from CVS:
* tests/examples/seek/scrubby.c: (main):
* tests/examples/seek/seek.c: (main):
Call g_thread_init() first thing in main() (see #391278).
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state):
clear xv when going to NULL, remove // commented non-existant proto
* tests/examples/seek/seek.c: (main):
add missing tooltip description for scrub and play_scrub
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Extract rate from the NEWSEGMENT event.
Use commit_full to also take rate adjustment into account when writing
samples to the ringbuffer.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_commit_full), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
* gst-libs/gst/audio/gstringbuffer.h:
Added _commit_full() to also take rate into account.
Use simple interpolation algorithm to resample audio.
API: gst_ring_buffer_commit_full()
* tests/examples/seek/scrubby.c: (speed_cb), (do_seek):
* tests/examples/seek/seek.c: (segment_done):
Don't try to seek with 0.0 rate, just pause instead.
Remove bogus debug line.
Original commit message from CVS:
2006-10-13 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek), (start_seek),
(rate_spinbutton_changed_cb), (segment_done),
(msg_state_changed):
Segment seeking needs to use the rate and set stop to -1.
Original commit message from CVS:
2006-10-13 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek), (start_seek),
(rate_spinbutton_changed_cb), (msg_state_changed): Stop the
scale
updater when we start grabing the slider. Don't wait for the
pipeline to be PAUSED.
Original commit message from CVS:
2006-10-12 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek), (start_seek),
(stop_seek),
(play_cb), (pause_cb), (stop_cb),
(rate_spinbutton_changed_cb),
(msg_state_changed), (main): Use state-changed messages to
trigger
start/stop of scale update timer. Indeed the scale slider was
jumping here and there because the update timer was activated
before seek completed. This fixes instant applying of rate
changes
by pressing the spinbutton like a crazy man !
Original commit message from CVS:
2006-10-10 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek),
(rate_spinbutton_changed_cb): When changing spinbutton we try
to change the rate on the fly.
Original commit message from CVS:
2006-10-07 Julien MOUTTE <julien@moutte.net>
* ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event):
Useless goto.
* tests/examples/seek/seek.c: (do_seek),
(rate_spinbutton_changed_cb), (main): Add a rate spinbutton in
seek example to experiment with rates != 1.0 (reverse playback
!)
Original commit message from CVS:
* ext/libvisual/visual.c: (gst_vis_src_negotiate),
(gst_visual_chain), (gst_visual_change_state):
update to work also with libvisual 0.4 API
* tools/gst-launch-ext.1.in:
* tools/gst-visualise.1.in:
remove references to old man-pages
* tests/examples/seek/seek.c: (main):
add real meadi-buttons, add tool-tips for the seek-options, arrange
seek options in a table
Original commit message from CVS:
* tests/examples/seek/seek.c: (seek_cb), (start_seek), (stop_seek),
(play_scrub_toggle_cb), (main):
Add a checkbox to enable play scrubbing. Makes it possible to disable
normal scrubbing.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_src_event),
(theora_handle_data_packet):
Some more debug info.
* tests/examples/seek/seek.c: (start_seek), (main):
Print element messages too.
Original commit message from CVS:
* tests/examples/seek/seek.c: (end_scrub), (seek_cb), (start_seek),
(stop_seek):
Don't let double and tripple clicks mess up our state.
Original commit message from CVS:
* configure.ac:
* gst/volume/Makefile.am:
* gst/volume/demo.c:
move old example to tests/examples/volume/volune.c
* tests/examples/Makefile.am:
* tests/examples/seek/seek.c: (main):
change window-close event from "delete-event" to "destroy"
* tests/examples/volume/Makefile.am:
* tests/examples/volume/volume.c: (value_changed_callback),
(setup_gui), (message_received), (eos_message_received), (main):
fix event handling and bus usage
Original commit message from CVS:
* tests/examples/seek/scrubby.c: (main):
Set higher priority for bus events so they don't get reordered with
gtk gui events.
* tests/examples/seek/seek.c: (do_seek), (start_seek), (stop_seek),
(flush_toggle_cb), (main):
Added checkbox do disable flushing seeks.
Disable scrubbing when doing non flushing seeks.
Original commit message from CVS:
* examples/seeking/seek.c: (main):
Give higher priority to bus signals than the gtk events
to fix a race condition in the segment looping.
Original commit message from CVS:
2005-11-17 Julien MOUTTE <julien@moutte.net>
* examples/seeking/seek.c: (make_dv_pipeline),
(make_vorbis_theora_pipeline), (make_avi_pipeline),
(make_mpegnt_pipeline): Use VSINK everywhere, add a scaler
to ogg/vorbis/theora pipeline.
Original commit message from CVS:
* examples/seeking/seek.c: (do_seek), (accurate_toggle_cb),
(key_toggle_cb), (main):
Added checkboxes for adding/removing the accurate and key_unit seek
flags.
Original commit message from CVS:
* examples/seeking/seek.c: (make_parselaunch_pipeline):
Added parse-launch syntax seeking mode for the seeking example.
This should help stress-test even more cases.
Ex usage : ./seek 15 "filesrc location=uranus.avi ! decodebin ! xvimagesink"
Original commit message from CVS:
* check/pipelines/simple_launch_lines.c: (run_pipeline):
Small update, use API as stated in design docs.
* examples/seeking/seek.c: (make_avi_msmpeg4v3_mp3_pipeline),
(update_scale), (do_seek), (seek_cb), (set_update_scale),
(start_seek), (stop_seek), (play_cb), (pause_cb), (stop_cb),
(message_received), (main):
Updated seek example for GOption. Some usability improvements.
Original commit message from CVS:
* examples/seeking/seek.c: (make_mp3_pipeline),
(make_mpeg_pipeline), (seek_cb), (start_seek), (stop_seek),
(play_cb), (pause_cb), (stop_cb):
update the example
Original commit message from CVS:
* examples/seeking/seek.c: (make_vorbis_pipeline),
(make_theora_pipeline), (make_vorbis_theora_pipeline), (do_seek):
Small seek updates.
Original commit message from CVS:
2005-08-16 Andy Wingo <wingo@pobox.com>
* examples/seeking/Makefile.am: Don't compile non-compiling
compiled objects with the compiler.
* examples/seeking/seek.c (make_dv_pipeline): Update for new DV
elements.
Original commit message from CVS:
* examples/seeking/seek.c: (make_dv_pipeline),
(make_vorbis_theora_pipeline), (query_rates),
(query_positions_elems), (query_positions_pads), (do_seek):
Make correct DV pipeline.
Original commit message from CVS:
Plugin port to 0.9, ogg/theora playback should work in the seek
example now.
Removed old examples.
Removed old oggvorbisenc, renamed rawvorbisenc to vorbisenc as
explained in 0.9 TODO doc.