From 20bf3c992909e83e5af53cf00d87b7cbaef0d1a6 Mon Sep 17 00:00:00 2001 From: tobigun Date: Tue, 2 Nov 2010 23:58:34 +0000 Subject: - Support for media interface priorities - all media interfaces classes have to explicitly implement IMediaInterface, otherwise access to the priority and name will fail git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2707 b956fd51-792f-4845-bead-9b4dfca2ff2c --- mediaplugin/src/media/UMedia_dummy.pas | 46 +++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 4 deletions(-) (limited to 'mediaplugin/src/media/UMedia_dummy.pas') diff --git a/mediaplugin/src/media/UMedia_dummy.pas b/mediaplugin/src/media/UMedia_dummy.pas index 1ada6603..d5e99aa3 100644 --- a/mediaplugin/src/media/UMedia_dummy.pas +++ b/mediaplugin/src/media/UMedia_dummy.pas @@ -43,7 +43,7 @@ uses UPath; type - TAudio_Dummy = class( TInterfacedObject, IAudioPlayback, IAudioInput ) + TAudio_Dummy = class( TInterfacedObject, IMediaInterface, IAudioPlayback, IAudioInput ) private DummyOutputDeviceList: TAudioOutputDeviceList; public @@ -99,7 +99,7 @@ type procedure CloseVoiceStream(var VoiceStream: TAudioVoiceStream); end; - TVideo_Dummy = class( TInterfacedObject, IVideo ) + TVideo_Dummy = class(TInterfacedObject, IVideo) public procedure Close; @@ -154,7 +154,8 @@ type property Position: real read GetPosition write SetPosition; end; - TVideoPlayback_Dummy = class( TInterfacedObject, IVideoPlayback, IVideoVisualization ) + TVideoPlayback_Dummy = class(TInterfacedObject, IMediaInterface, + IVideoPlayback, IVideoVisualization) public constructor Create(); function GetName: string; @@ -166,6 +167,16 @@ type function Open(const FileName: IPath): IVideo; end; + TVideoDecoder_Dummy = class(TInterfacedObject, IMediaInterface, IVideoDecoder) + public + function GetName: string; + function GetPriority: integer; + + function InitializeDecoder(): boolean; + function FinalizeDecoder(): boolean; + function Open(const FileName: IPath): TVideoDecodeStream; + end; + function TAudio_Dummy.GetName: string; begin Result := 'AudioDummy'; @@ -473,7 +484,7 @@ end; function TVideoPlayback_Dummy.GetName: string; begin - Result := 'VideoDummy'; + Result := 'VideoPlaybackDummy'; end; function TVideoPlayback_Dummy.GetPriority: integer; @@ -496,9 +507,36 @@ begin Result := TVideo_Dummy.Create; end; +{ TVideoDecoder_Dummy } + +function TVideoDecoder_Dummy.GetName: string; +begin + Result := 'VideoDecoderDummy'; +end; + +function TVideoDecoder_Dummy.GetPriority: integer; +begin + Result := -100; +end; + +function TVideoDecoder_Dummy.InitializeDecoder(): boolean; +begin + Result := true; +end; + +function TVideoDecoder_Dummy.FinalizeDecoder(): boolean; +begin + Result := true; +end; + +function TVideoDecoder_Dummy.Open(const FileName: IPath): TVideoDecodeStream; +begin + Result := nil; +end; initialization MediaManager.Add(TAudio_Dummy.Create); MediaManager.Add(TVideoPlayback_Dummy.Create); + MediaManager.Add(TVideoDecoder_Dummy.Create); end. -- cgit v1.2.3