Merge lp:~tdelaet/entertainer/fixes-for-future-branch into lp:entertainer/future

Proposed by Thomas Delaet
Status: Rejected
Rejected by: Matt Layman
Proposed branch: lp:~tdelaet/entertainer/fixes-for-future-branch
Merge into: lp:entertainer/future
Diff against target: 32 lines (+6/-1)
2 files modified
entertainerlib/client/ (+1/-1)
entertainerlib/gui/ (+5/-0)
To merge this branch: bzr merge lp:~tdelaet/entertainer/fixes-for-future-branch
Reviewer Review Type Date Requested Status
Matt Layman Needs Fixing
Review via email:
To post a comment you must log in.
Revision history for this message
Thomas Delaet (tdelaet) wrote :

This branch fixes two problems I had when trying out the entertainer future branch.

1. The latest version of pyclutter-gst doesn't have the get_playbin() function anymore. This function is renamed to get_pipeline(). (see changelog of pyclutter-gst)

2. When a video is finished playing, my screen turns blue. I fixed this by subscribing to the 'stop' signal of the media player. When the user interface receives this signal, it changes the screen to the previous screen.

See in commit messages for more details.

Revision history for this message
Matt Layman (mblayman) wrote :

Thomas, thanks for the branch. I might have a chance to test it out this weekend.

Revision history for this message
Matt Layman (mblayman) wrote :


Thanks very much for the branch. Just a few notes:

 1. I guess we don't explicitly state it anywhere, but the pyclutter-gst that we are using is the one that is packaged by Francesco Marella in his PPA (if I could figure out how to copy his packages to the Entertainer PPA, I would do that). That being said, we're a little behind on which version of pyclutter-gst is in use so your branch is a little ahead of the curve. After Ubuntu Lucid Lynx is released, I will probably try to update our pyclutter-gst and gtk, then your code will be very valuable.
 2. I'm about to abandon the future branch. It's an added level of complexity that the Entertainer team thought we would use, but it was a branch that lived on too long to suit the purpose we wanted. Rest assured that trunk is now up-to-date with all of future's code. Therefore, I would request that after you make some changes (which I'm about to mention), please submit for merging into trunk.
 3. The Entertainer developers decided to use copyright assignment so that we could do something in the future like change the license (to something like GPLv3). Because of that, in order for us to accept your code, you'd have to be okay assigning the copyright to Entertainer Developers. To do that, simply add yourself, alphabetically by first name, to the list of contributors at the bottom of the docs/COPYING file.
 4. Finally, a code review comment... You changed the method name to get_pipeline, which is the right thing to do for the API change, but you left the variable as self.playbin. I think this would lead to confusion in the future, and I would request that you change every instance of the self.playbin variable to self.pipeline.

Once these changes are made, I'll be more than happy to merge the branch (though I may not do it until some time after Lucid is released when I actually need the code).


review: Needs Fixing
Revision history for this message
Matt Layman (mblayman) wrote :

I'm going to mark the proposal as rejected, but that's only because I would like to see it merged into trunk instead of future.

Unmerged revisions

387. By Thomas Delaet <thomas@cole>

get_playbin does not exist anymore in recent pyclutter-gst bindings. use correct name.

386. By Thomas Delaet <thomas@cole>

When a video is finished, the screens turns blue.

The reason for this is that the video_osd screen does not change to another screen and the video texture is removed when playing is done.

This commit fixes the problem: when the user interface detects the stop event from the media player, it switches to the previous screen

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'entertainerlib/client/'
2--- entertainerlib/client/ 2009-12-21 22:21:55 +0000
3+++ entertainerlib/client/ 2010-02-26 23:18:14 +0000
4@@ -77,7 +77,7 @@
5 self._internal_callback_timeout_key = None
7 self.video_texture = cluttergst.VideoTexture()
8- self.playbin = self.video_texture.get_playbin()
9+ self.playbin = self.video_texture.get_pipeline()
10 self.playbin.set_property("volume", 0.5)
11 self._volume = 10
12 self.bus = self.playbin.get_bus()
14=== modified file 'entertainerlib/gui/'
15--- entertainerlib/gui/ 2009-12-22 02:44:49 +0000
16+++ entertainerlib/gui/ 2010-02-26 23:18:14 +0000
17@@ -87,6 +87,7 @@
18 self.player = MediaPlayer(self.stage,
19 self.config.stage_width, self.config.stage_height)
20 self.player.connect('volume-changed', self._on_volume_changed)
21+ self.player.connect('stop', self.on_stop)
23 # Initialize menu overlay texture
24 self.is_overlay = False
25@@ -422,3 +423,7 @@
26 self.fade_screen_behaviour.set_bounds(50, 255)
27 self.fade_screen_timeline.start()
29+ def on_stop(self, event):
30+ '''Restore previous screen.'''
31+ self.move_to_previous_screen()


People subscribed via source and target branches