Commit graph

26 commits

Author SHA1 Message Date
Philippe Normand
f009802771 play: Flush API bus before exiting main loop
Otherwise the bus might attempt to dispatch queued messages after the thread
ended, causing runtime warnings.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
2021-03-09 18:03:48 +00:00
Philippe Normand
19d57dcfa5 play: Plug media_info leak
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
2021-03-09 18:03:48 +00:00
Stephan Hesse
e007c47c3f play: Rename internal buffering field to buffering_percent
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
2021-03-09 18:03:48 +00:00
Stephan Hesse
a74651ddc1 play: Introducing the new playback library
This aims to be a replacement for the GstPlayer library. In GstPlay, notifications are
sent as application messages through a dedicated GstBus. The GMainContext-based
signal dispatcher was replaced by a GObject signal adapter, now relying on the
bus to emit its signals. The signal dispatcher is now optional and fully
decoupled from the GstPlay object.

Co-authored with: Philippe Normand <philn@igalia.com>

Fixes #394

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
2021-03-09 18:03:48 +00:00
Thomas Vander Stichele
924628915a done operating
Original commit message from CVS:
done operating
2004-01-30 22:38:56 +00:00
Julien Moutte
7c858cbf0f ext/gnomevfs/gstgnomevfssrc.c: Fixing seeking emiting FLUSH and even before DISCONT.
Original commit message from CVS:
2004-01-29  Julien MOUTTE  <julien@moutte.net>

* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get): Fixing seeking
emiting FLUSH and even before DISCONT.
* gst-libs/gst/play/gstplay.c: (gst_play_seek_to_time): Fix seeking to
get the best instant seeking as possible yay!
2004-01-29 22:44:42 +00:00
Julien Moutte
1b5d548d52 gst-libs/gst/play/gstplay.c: seek on video sink element first.
Original commit message from CVS:
2004-01-28  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_seek_to_time): seek on video
sink element first.
* gst/videoscale/gstvideoscale.c:
(gst_videoscale_handle_src_event): Fixing src event handler.
2004-01-28 22:14:12 +00:00
Julien Moutte
a7db4b6141 gst-libs/gst/play/gstplay.c: Fixing the way to get current position.
Original commit message from CVS:
2004-01-27  Julien MOUTTE <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_tick_callback),
(gst_play_seek_to_time): Fixing the way to get current position.
2004-01-27 21:24:14 +00:00
Julien Moutte
2ec67efa3a gst-libs/gst/play/gstplay.c: The easiest fix ever... Inverting 2 lines of code make spider autoplug correctly tagged ...
Original commit message from CVS:
2004-01-27  Julien MOUTTE <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_set_location): The easiest
fix ever... Inverting 2 lines of code make spider autoplug correctly
tagged mp3 !
2004-01-27 16:42:40 +00:00
Julien Moutte
a77fcb5d88 gst-libs/gst/play/gstplay.c: Another try in visualization implementation. Still have an issue with switch blocking wh...
Original commit message from CVS:
2004-01-25  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_pipeline_setup),
(gst_play_identity_handoff), (gst_play_set_location),
(gst_play_set_visualization), (gst_play_connect_visualization): Another
try in visualization implementation. Still have an issue with switch
blocking when pulling from video_queue and only audio comes out of
spider.
* gst/switch/gstswitch.c: (gst_switch_release_pad),
(gst_switch_poll_sinkpads), (gst_switch_class_init): Implementing pad
release method. And check if the pad is usable before pulling.
2004-01-25 12:28:05 +00:00
Julien Moutte
4bb604a90b gst-libs/gst/play/gstplay.c: Reworked the pipeline from scratch. Visualization is back and switch went out as i reali...
Original commit message from CVS:
2004-01-23  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_pipeline_setup),
(gst_play_set_location), (gst_play_seek_to_time),
(gst_play_set_audio_sink), (gst_play_set_visualization),
(gst_play_connect_visualization), (gst_play_get_sink_element): Reworked
the pipeline from scratch. Visualization is back and switch went out as
i realized it was not possible to use the way i wanted.
* sys/ximage/ximagesink.c: (gst_ximagesink_imagepool_clear),
(gst_ximagesink_change_state), (gst_ximagesink_dispose): Move xcontext
clearing in state change from READY to NULL. So that one can clean the
X ressources keeping the element.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_imagepool_clear), (gst_xvimagesink_change_state),
(gst_xvimagesink_colorbalance_set_value),
(gst_xvimagesink_colorbalance_get_value),
(gst_xvimagesink_set_property), (gst_xvimagesink_dispose),
(gst_xvimagesink_init): Same xcontext cleaning than ximagesink in state
change from READY to NULL and fixed some stupid bugs in colorbalance
get/set values. Also added the following feature : when nobody tries to
set some values to the colorbalance levels before the xcontext is
grabbed, then when creating channels list from Xv attributes we set the
internal values to the Xv defaults. This way we handle buggy Xv drivers
that set default hue values far from the middle of the range (Thanks
to Jon Trowbridge for pointing that issue).
* sys/xvimage/xvimagesink.h: Adding a cb_changed boolean to know if
colorbalance levels have been set before xcontext is grabbed.
2004-01-22 23:54:34 +00:00
Julien Moutte
2df0f44843 gst-libs/gst/play/gstplay.c: Preparing switch integration, adding videobalance in the pipeline.
Original commit message from CVS:
2004-01-14  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_pipeline_setup),
(gst_play_set_location), (gst_play_set_visualization): Preparing
switch integration, adding videobalance in the pipeline.
2004-01-14 21:50:39 +00:00
Benjamin Otte
b9b9ae813f gst-libs/gst/play/gstplay.c: Query the audio element to get the time, not the clock. We're interested in the element'...
Original commit message from CVS:
2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst-libs/gst/play/gstplay.c: (gst_play_tick_callback):
Query the audio element to get the time, not the clock. We're
interested in the element's time here.
2004-01-14 02:37:12 +00:00
Julien Moutte
bbf8b3e723 gst-libs/gst/play/gstplay.c: When analyzing the pads of an element the bin is mostly in READY state so no caps were n...
Original commit message from CVS:
2004-01-12  Julien MOUTTE <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_get_sink_element): When
analyzing the pads of an element the bin is mostly in READY state so
no caps were negotiated. This helper function needs to work with
_get_caps directly then. I was not freeing them though, added that to
fix the mem leak.
2004-01-12 16:48:48 +00:00
David Schleef
d33b0d62aa Remove all usage of gst_pad_get_caps(), and replace it with gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
Original commit message from CVS:
Remove all usage of gst_pad_get_caps(), and replace it with
gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
2004-01-12 03:40:18 +00:00
Julien Moutte
861724761f examples/gstplay/Makefile.am: Adding the interface library.
Original commit message from CVS:
* examples/gstplay/Makefile.am: Adding the interface library.
* gst-libs/gst/play/Makefile.am: Adding the interface library.
* gst-libs/gst/play/gstplay.c: (gst_play_set_video_sink): Connecting tothe XOverlay size signal instead of GstVideoSink.
* gst-libs/gst/play/gstplay.h: Including the XOverlay interface to check        GST_IS_X_OVERLAY before signal connect.
* gst-libs/gst/video/gstvideosink.c: (gst_videosink_class_init):
Removing the have_video_size signal.
* gst-libs/gst/video/gstvideosink.h: Removing the have_video_size signal        and associated public method.
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents),
(gst_ximagesink_sinkconnect): Using XOverlay public method to fire size
signal.
* sys/xvideo/xvideosink.c: (gst_xvideosink_sinkconnect),
(gst_xvideosink_xwindow_new): Using XOverlay public method to fire size
signal.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_sinkconnect):
Using XOverlay public method to fire size signal.
2004-01-07 21:49:25 +00:00
David Schleef
b144bc6c58 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:47:09 +00:00
Julien Moutte
1835d5eb9c examples/gstplay/player.c: using g_print instead of g_message.
Original commit message from CVS:
* examples/gstplay/player.c: (got_time_tick), (got_stream_length),
(got_video_size), (main): using g_print instead of g_message.
* gst-libs/gst/play/gstplay.c: (gst_play_pipeline_setup): Fixing EOS
signal which was not emitted because of "switch" element added to the
bin but not connected. (Removing from the bin temporarily)
2003-12-21 22:11:46 +00:00
Julien Moutte
4062b8106a configure.ac: X_DISPLAY_MISSING is set to 1 if AC_PATH_XTRA fails to find X development files. I don't understand the...
Original commit message from CVS:
* configure.ac: X_DISPLAY_MISSING is set to 1 if AC_PATH_XTRA fails to
find X development files. I don't understand the previous tests and
they fail on my debian/ppc unstable. This one works.
* examples/gstplay/player.c: (main): Set the pipeline to READY before
exiting.
* gst-libs/gst/play/gstplay.c: (gst_play_get_length_callback),
(gst_play_set_video_sink), (gst_play_set_audio_sink),
(gst_play_set_visualization): Add some safety checks in set_ methods
and state_change. This was throwing some ugly CRITICAL messages when
pipeline was getting disposed and casts were failing.
2003-12-21 19:48:40 +00:00
Julien Moutte
da2b8a4f3b Harmonize state of sinks with the pipeline state.
Original commit message from CVS:
Harmonize state of sinks with the pipeline state.
2003-12-16 22:52:01 +00:00
Julien Moutte
2e2a90accc Synchronizing my changes.
Original commit message from CVS:
Synchronizing my changes.
2003-12-14 17:00:18 +00:00
Julien Moutte
d2ef360eef Using private structure for members so that we have more chance that the header is frozen. :)
Original commit message from CVS:
Using private structure for members so that we have more chance that the header is frozen. :)
2003-12-11 22:29:14 +00:00
Julien Moutte
eb652be7e1 Adding visualization.
Original commit message from CVS:
Adding visualization.
Removing interfaces.
Preparing videoswitch integration.
2003-12-08 16:01:49 +00:00
Julien Moutte
bacc26059b time_tick works.
Original commit message from CVS:
time_tick works.
have_video_size works.
2003-12-07 19:02:31 +00:00
Julien Moutte
6077e73e63 Updating with my local repository. It already plays video with sound :) Great !
Original commit message from CVS:
Updating with my local repository. It already plays video with sound :) Great !
2003-12-07 17:56:10 +00:00
Julien Moutte
dbe874d5a0 Adding my work in progress rewrite from scratch of libgstplay.
Original commit message from CVS:
Adding my work in progress rewrite from scratch of libgstplay.
2003-12-07 13:29:10 +00:00