gst/playback/gstplaysink.*: Add methods to get audio/video/vis elements.

Original commit message from CVS:
* gst/playback/gstplaysink.c: (gst_play_sink_class_init),
(gst_play_sink_init), (gst_play_sink_dispose),
(gst_play_sink_set_video_sink), (gst_play_sink_get_video_sink),
(gst_play_sink_set_audio_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_volume), (gst_play_sink_get_volume),
(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_send_event_to_sink), (gst_play_sink_change_state):
* gst/playback/gstplaysink.h:
Add methods to get audio/video/vis elements.
Add methods to set the font description for the overlay.
Remove properties, we're using this element with its methods only.
Add support for subtitles.
Rearrange the locking a bit to not use the object lock for protecting
the pipeline construction.
Try to use the volume and mute property on the sink when its available.
Implement the mute option with volume when the sink does not have a mute
property.
Only add volume element when the sink has no volume property.
Only do visualisations with raw audio pads.
This commit is contained in:
Wim Taymans 2008-03-24 12:15:26 +00:00
parent 5a473e3e07
commit cd1fed3345
3 changed files with 401 additions and 261 deletions

View file

@ -1,3 +1,29 @@
2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
* gst/playback/gstplaysink.c: (gst_play_sink_class_init),
(gst_play_sink_init), (gst_play_sink_dispose),
(gst_play_sink_set_video_sink), (gst_play_sink_get_video_sink),
(gst_play_sink_set_audio_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_volume), (gst_play_sink_get_volume),
(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_send_event_to_sink), (gst_play_sink_change_state):
* gst/playback/gstplaysink.h:
Add methods to get audio/video/vis elements.
Add methods to set the font description for the overlay.
Remove properties, we're using this element with its methods only.
Add support for subtitles.
Rearrange the locking a bit to not use the object lock for protecting
the pipeline construction.
Try to use the volume and mute property on the sink when its available.
Implement the mute option with volume when the sink does not have a mute
property.
Only add volume element when the sink has no volume property.
Only do visualisations with raw audio pads.
2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init),

File diff suppressed because it is too large Load diff

View file

@ -66,8 +66,13 @@ GstPad * gst_play_sink_request_pad (GstPlaySink *playsink, GstPlaySin
void gst_play_sink_release_pad (GstPlaySink *playsink, GstPad *pad);
void gst_play_sink_set_video_sink (GstPlaySink * playsink, GstElement * sink);
GstElement * gst_play_sink_get_video_sink (GstPlaySink * playsink);
void gst_play_sink_set_audio_sink (GstPlaySink * playsink, GstElement * sink);
GstElement * gst_play_sink_get_audio_sink (GstPlaySink * playsink);
void gst_play_sink_set_vis_plugin (GstPlaySink * playsink, GstElement * vis);
GstElement * gst_play_sink_get_vis_plugin (GstPlaySink * playsink);
void gst_play_sink_set_volume (GstPlaySink *playsink, gdouble volume);
gdouble gst_play_sink_get_volume (GstPlaySink *playsink);
@ -78,6 +83,9 @@ gboolean gst_play_sink_get_mute (GstPlaySink *playsink);
gboolean gst_play_sink_set_flags (GstPlaySink * playsink, GstPlayFlags flags);
GstPlayFlags gst_play_sink_get_flags (GstPlaySink * playsink);
void gst_play_sink_set_font_desc (GstPlaySink *playsink, const gchar * desc);
gchar * gst_play_sink_get_font_desc (GstPlaySink *playsink);
GstBuffer * gst_play_sink_get_last_frame (GstPlaySink * playsink);
gboolean gst_play_sink_reconfigure (GstPlaySink * playsink);