[longomatch] Remove the PlayerUseType from the constructor arguments



commit 6489eda2e22d8a0f46186e7550bae4d623474ded
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Thu Jul 10 19:46:29 2014 +0200

    Remove the PlayerUseType from the constructor arguments

 LongoMatch.Multimedia/Player/GstPlayer.cs        |   22 ++++++++++++++++------
 LongoMatch.Multimedia/Utils/MultimediaFactory.cs |    8 +++-----
 2 files changed, 19 insertions(+), 11 deletions(-)
---
diff --git a/LongoMatch.Multimedia/Player/GstPlayer.cs b/LongoMatch.Multimedia/Player/GstPlayer.cs
index 0424ab6..0eca907 100644
--- a/LongoMatch.Multimedia/Player/GstPlayer.cs
+++ b/LongoMatch.Multimedia/Player/GstPlayer.cs
@@ -28,7 +28,6 @@ using LongoMatch.Handlers;
 
 namespace LongoMatch.Video.Player {
 
-       #region Autogenerated code
        public class GstPlayer : GLib.Object, IPlayer, IFramesCapturer {
 
                public event ErrorHandler Error;
@@ -81,11 +80,17 @@ namespace LongoMatch.Video.Player {
                [DllImport("libcesarplayer.dll")]
                static extern void lgm_video_player_expose (IntPtr pixbuf);
 
+               public unsafe GstPlayer () : base(IntPtr.Zero)
+               {
+                       Init (PlayerUseType.Video);
+               }
+               
                public unsafe GstPlayer(PlayerUseType type) : base(IntPtr.Zero)
                {
-                       if(GetType() != typeof(GstPlayer)) {
-                               throw new InvalidOperationException("Can't override this constructor.");
-                       }
+                       Init (type);
+               }
+               
+               void Init (PlayerUseType type) {
                        IntPtr error = IntPtr.Zero;
                        Raw = lgm_video_player_new ((int) type, out error);
                        if (error != IntPtr.Zero) throw new GLib.GException(error);
@@ -494,7 +499,12 @@ namespace LongoMatch.Video.Player {
                {
                        LongoMatch.GtkSharp.Video.ObjectManager.Initialize();
                }
-
-               #endregion
+       }
+       
+       public class GstFramesCapturer: GstPlayer {
+       
+               public unsafe GstFramesCapturer () : base (PlayerUseType.Capture)
+               {
+               }
        }
 }
diff --git a/LongoMatch.Multimedia/Utils/MultimediaFactory.cs 
b/LongoMatch.Multimedia/Utils/MultimediaFactory.cs
index 3deaaa7..ebeae1d 100644
--- a/LongoMatch.Multimedia/Utils/MultimediaFactory.cs
+++ b/LongoMatch.Multimedia/Utils/MultimediaFactory.cs
@@ -47,7 +47,7 @@ namespace LongoMatch.Video
                        elements = new Dictionary<Type, List<BackendElement>>();
                        /* Register default elements */
                        Register (0, typeof (IPlayer), typeof (GstPlayer));
-                       Register (0, typeof (IFramesCapturer), typeof (GstPlayer));
+                       Register (0, typeof (IFramesCapturer), typeof (GstFramesCapturer));
                        Register (0, typeof (IVideoConverter), typeof (GstVideoConverter));
                        Register (0, typeof (IVideoEditor), typeof (GstVideoSplitter));
                        Register (0, typeof (IRemuxer), typeof (GstRemuxer));
@@ -62,13 +62,11 @@ namespace LongoMatch.Video
                }
 
                public IPlayer GetPlayer () {
-                       return GetDefaultElement<IPlayer> (typeof (IPlayer),
-                                                           PlayerUseType.Video);
+                       return GetDefaultElement<IPlayer> (typeof (IPlayer));
                }
 
                public IFramesCapturer GetFramesCapturer() {
-                       return GetDefaultElement<IFramesCapturer> (typeof (IFramesCapturer),
-                                                                   PlayerUseType.Capture);
+                       return GetDefaultElement<IFramesCapturer> (typeof (IFramesCapturer));
                }
 
                public IVideoEditor GetVideoEditor() {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]