[banshee] GStreamerSharp: PlayerEngine: avoid spurious *Stream events
- From: Andrés Aragoneses <aaragoneses src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [banshee] GStreamerSharp: PlayerEngine: avoid spurious *Stream events
- Date: Fri, 24 Jan 2014 15:28:20 +0000 (UTC)
commit 4c4bef1a128e0262a5ca7cf3a98883be74da7d05
Author: Andrés G. Aragoneses <knocte gmail com>
Date: Fri Jan 24 16:28:09 2014 +0100
GStreamerSharp: PlayerEngine: avoid spurious *Stream events
The managed backend wasn't checking the player state before sending
{End|Start}OfStream events at GStreamer's StreamStart signal, like
the native backend was doing. This was making the MediaEngineTests
fail for this backend.
With this, the tests now pass (there's only a TearDown failure left
which is unrelated to this).
(Note: the player states to check recently had to change in the
native backend [1], so we accommodate the managed backend here
too, accordingly.)
https://git.gnome.org/browse/banshee/commit/?id=6c890659b766879e0bbd08e6ea29d836b9c3281c
.../Banshee.GStreamerSharp/PlayerEngine.cs | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/src/Backends/Banshee.GStreamerSharp/Banshee.GStreamerSharp/PlayerEngine.cs
b/src/Backends/Banshee.GStreamerSharp/Banshee.GStreamerSharp/PlayerEngine.cs
index 283bf94..ea51892 100644
--- a/src/Backends/Banshee.GStreamerSharp/Banshee.GStreamerSharp/PlayerEngine.cs
+++ b/src/Backends/Banshee.GStreamerSharp/Banshee.GStreamerSharp/PlayerEngine.cs
@@ -541,10 +541,12 @@ namespace Banshee.GStreamerSharp
private void HandleStreamStart ()
{
- // Set the current track as fully played before signaling EndOfStream.
- ServiceManager.PlayerEngine.IncrementLastPlayed (1.0);
- OnEventChanged (PlayerEvent.EndOfStream);
- OnEventChanged (PlayerEvent.StartOfStream);
+ if (CurrentState != PlayerState.Loaded && CurrentState != PlayerState.Loading) {
+ // Set the current track as fully played before signaling EndOfStream.
+ ServiceManager.PlayerEngine.IncrementLastPlayed (1.0);
+ OnEventChanged (PlayerEvent.EndOfStream);
+ OnEventChanged (PlayerEvent.StartOfStream);
+ }
}
private void HandleError (GLib.GException ex)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]