[banshee/gapless-ng: 820/836] Revert "[libbanshee]Fix video playback with playbin2"
- From: Christopher James Halse Rogers <chrishr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [banshee/gapless-ng: 820/836] Revert "[libbanshee]Fix video playback with playbin2"
- Date: Thu, 25 Feb 2010 22:44:48 +0000 (UTC)
commit 86784957046b445f4a57712aadd37784d3eb3658
Author: Christopher James Halse Rogers <raof ubuntu com>
Date: Fri Feb 5 11:27:20 2010 +1100
Revert "[libbanshee]Fix video playback with playbin2"
This reverts commit 75105342186deb69e2f59bf778f095736c61a98b.
This worked-around a bug in playbin2. We will now only use playbin2
if we've got a new enough version to have all the fixes, so we can
drop this workaround.
libbanshee/banshee-player-private.h | 1 -
libbanshee/banshee-player-video.c | 16 +++++++++-------
2 files changed, 9 insertions(+), 8 deletions(-)
---
diff --git a/libbanshee/banshee-player-private.h b/libbanshee/banshee-player-private.h
index 0f5a617..a098628 100644
--- a/libbanshee/banshee-player-private.h
+++ b/libbanshee/banshee-player-private.h
@@ -108,7 +108,6 @@ struct BansheePlayer {
GstElement *audiobin;
GstElement *equalizer;
GstElement *preamp;
- GstElement *videosink;
gint equalizer_status;
gdouble current_volume;
diff --git a/libbanshee/banshee-player-video.c b/libbanshee/banshee-player-video.c
index 4adcdfc..21bc0ce 100644
--- a/libbanshee/banshee-player-video.c
+++ b/libbanshee/banshee-player-video.c
@@ -37,14 +37,15 @@
static gboolean
bp_video_find_xoverlay (BansheePlayer *player)
{
+ GstElement *video_sink = NULL;
GstElement *xoverlay;
GstXOverlay *previous_xoverlay;
- g_return_val_if_fail (IS_BANSHEE_PLAYER (player), FALSE);
-
previous_xoverlay = player->xoverlay;
- if (player->videosink == NULL) {
+ g_object_get (player->playbin, "video-sink", &video_sink, NULL);
+
+ if (video_sink == NULL) {
player->xoverlay = NULL;
if (previous_xoverlay != NULL) {
gst_object_unref (previous_xoverlay);
@@ -53,9 +54,9 @@ bp_video_find_xoverlay (BansheePlayer *player)
return FALSE;
}
- xoverlay = GST_IS_BIN (player->videosink)
- ? gst_bin_get_by_interface (GST_BIN (player->videosink), GST_TYPE_X_OVERLAY)
- : player->videosink;
+ xoverlay = GST_IS_BIN (video_sink)
+ ? gst_bin_get_by_interface (GST_BIN (video_sink), GST_TYPE_X_OVERLAY)
+ : video_sink;
player->xoverlay = GST_IS_X_OVERLAY (xoverlay) ? GST_X_OVERLAY (xoverlay) : NULL;
@@ -73,6 +74,8 @@ bp_video_find_xoverlay (BansheePlayer *player)
g_object_set (G_OBJECT (player->xoverlay), "handle-events", FALSE, NULL);
}
+ gst_object_unref (video_sink);
+
return player->xoverlay != NULL;
}
@@ -175,7 +178,6 @@ _bp_video_pipeline_setup (BansheePlayer *player, GstBus *bus)
#endif
#endif
- player->videosink = videosink;
}
P_INVOKE void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]