IToiMediaPlayerBase.idl

00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00002  *--------------------------------------------------------------------
00003  *
00004  * IToiMediaPlayerBase.idl
00005  *
00006  * This file was created by the Motorola IDL backend, 
00007  * which is based on the OmniORB IDL parser.
00008  * Please do not modify.
00009  *
00010  * Copyright (c) 2009 Motorola Inc. All Rights Reserved.
00011  *
00012  *--------------------------------------------------------------------
00013  */
00014 
00015 #ifndef ITOIMEDIAPLAYERBASE_IDL
00016 #define ITOIMEDIAPLAYERBASE_IDL
00017 
00018 #include "TToiSessionViolationException.idl"
00019 #include "TToiUnavailableException.idl"
00020 #include "TToiInvalidArgumentException.idl"
00021 #include "TToiNoDataException.idl"
00022 #include "TToiPermissionDeniedException.idl"
00023 #include "TToiOperationNotSupportedException.idl"
00024 #include "TToiInvalidPreconditionException.idl"
00025 #include "TToiNotEnoughResourcesException.idl"
00026 #include "IToiMediaSession.idl"
00027 #include "TToiUnhandledValueException.idl"
00028 #include "IToiApplicationService.idl"
00029 #include "IToiOperationManager.idl"
00030 #include "IToiAssetManagerService.idl"
00031 
00032 #include "IToiApplicationService.idl"
00041 //@ [EventTarget(EventObserver=IToiMediaPlayerObserver)]
00042 
00043 interface IToiMediaPlayerBase {
00044 
00049   enum TToiComponentType
00050   {
00051     
00054     //Value of COMPONENT_AUDIO = 0
00055     COMPONENT_AUDIO,
00056     
00059     //Value of COMPONENT_VIDEO = 1
00060     COMPONENT_VIDEO,
00061     
00064     //Value of COMPONENT_SUBTITLE = 2
00065     COMPONENT_SUBTITLE,
00066     
00070     //Value of COMPONENT_SUBTITLE_CAPTION = 3
00071     COMPONENT_SUBTITLE_CAPTION,
00072     
00078     //Value of COMPONENT_SUBTITLE_SUPERIMPOSE = 4
00079     COMPONENT_SUBTITLE_SUPERIMPOSE,
00080     
00085     //Value of COMPONENT_TELETEXT_VBI = 5
00086     COMPONENT_TELETEXT_VBI
00087   };
00089   struct TToiComponentEntry {
00091     IToiMediaPlayerBase::TToiComponentType Type;
00093     long Id;
00094   };
00095   
00097   typedef sequence < TToiComponentEntry > TToiComponentSequence;
00098   
00100   typedef sequence < long > TToiPaceSequence;
00101   
00107   enum TToiErrorSource
00108   {
00109     
00113     //Value of SOURCE_UNKNOWN = 0
00114     SOURCE_UNKNOWN,
00115     
00120     //Value of SOURCE_INTERNAL = 1
00121     SOURCE_INTERNAL,
00122     
00126     //Value of SOURCE_BITBAND = 2
00127     SOURCE_BITBAND
00128   };
00132   struct TToiError {
00134     IToiMediaPlayerBase::TToiErrorSource Source;
00136     long Details;
00137   };
00138   
00141   enum TToiState
00142   {
00143     
00151     //Value of STATE_IDLE = 0
00152     STATE_IDLE,
00153     
00166     //Value of STATE_CONNECTING = 1
00167     STATE_CONNECTING,
00168     
00179     //Value of STATE_PAUSED = 2
00180     STATE_PAUSED,
00181     
00193     //Value of STATE_PLAYING = 3
00194     STATE_PLAYING,
00195     
00209     //Value of STATE_FASTFORWARDING = 4
00210     STATE_FASTFORWARDING,
00211     
00225     //Value of STATE_REWINDING = 5
00226     STATE_REWINDING,
00227     
00234     //Value of STATE_FAILED = 6
00235     STATE_FAILED
00236   };
00239   enum TToiTimeshiftState
00240   {
00241     
00248     //Value of TIMESHIFT_STATE_INACTIVE = 0
00249     TIMESHIFT_STATE_INACTIVE,
00250     
00256     //Value of TIMESHIFT_STATE_BUFFERING = 1
00257     TIMESHIFT_STATE_BUFFERING,
00258     
00264     //Value of TIMESHIFT_STATE_STOPPED = 2
00265     TIMESHIFT_STATE_STOPPED,
00266     
00273     //Value of TIMESHIFT_STATE_BUFFERING_FAILED = 3
00274     TIMESHIFT_STATE_BUFFERING_FAILED
00275   };
00277   struct TToiTimeshiftInfo {
00279     IToiMediaPlayerBase::TToiTimeshiftState State;
00285     long BufferCapacity;
00290     long BufferUsed;
00295     long BufferStartPosition;
00297     IToiMediaSession::TToiSessionId RecorderSessionId;
00302     //@ [Optional]
00303     IToiAssetManagerService::TToiAssetId AssetId;
00304   };
00305   
00309   enum TToiAudioAudienceType
00310   {
00311     
00314     //Value of AUDIO_AUDIENCE_TYPE_UNKNOWN = 0
00315     AUDIO_AUDIENCE_TYPE_UNKNOWN,
00316     
00319     //Value of AUDIO_AUDIENCE_TYPE_NORMAL = 1
00320     AUDIO_AUDIENCE_TYPE_NORMAL,
00321     
00324     //Value of AUDIO_AUDIENCE_TYPE_VISUALLY_IMPAIRED = 2
00325     AUDIO_AUDIENCE_TYPE_VISUALLY_IMPAIRED,
00326     
00329     //Value of AUDIO_AUDIENCE_TYPE_HEARING_IMPAIRED = 3
00330     AUDIO_AUDIENCE_TYPE_HEARING_IMPAIRED
00331   };
00335   enum TToiAudioChannelFormat
00336   {
00337     
00340     //Value of AUDIO_CHANNEL_FORMAT_UNKNOWN = 0
00341     AUDIO_CHANNEL_FORMAT_UNKNOWN,
00342     
00345     //Value of AUDIO_CHANNEL_FORMAT_SINGLE_MONO = 1
00346     AUDIO_CHANNEL_FORMAT_SINGLE_MONO,
00347     
00350     //Value of AUDIO_CHANNEL_FORMAT_DUAL_MONO = 2
00351     AUDIO_CHANNEL_FORMAT_DUAL_MONO,
00352     
00355     //Value of AUDIO_CHANNEL_FORMAT_STEREO = 3
00356     AUDIO_CHANNEL_FORMAT_STEREO,
00357     
00360     //Value of AUDIO_CHANNEL_FORMAT_3_FRONT_1_BACK = 4
00361     AUDIO_CHANNEL_FORMAT_3_FRONT_1_BACK,
00362     
00365     //Value of AUDIO_CHANNEL_FORMAT_3_FRONT_2_BACK = 5
00366     AUDIO_CHANNEL_FORMAT_3_FRONT_2_BACK,
00367     
00371     //Value of AUDIO_CHANNEL_FORMAT_3_FRONT_2_BACK_LFE = 6
00372     AUDIO_CHANNEL_FORMAT_3_FRONT_2_BACK_LFE,
00373     
00377     //Value of AUDIO_CHANNEL_FORMAT_3_FRONT_2_SIDE_2_BACK_LFE = 7
00378     AUDIO_CHANNEL_FORMAT_3_FRONT_2_SIDE_2_BACK_LFE
00379   };
00382   enum TToiAudioChannelMode
00383   {
00384     
00387     //Value of AUDIO_CHANNEL_MODE_NORMAL = 0
00388     AUDIO_CHANNEL_MODE_NORMAL,
00389     
00393     //Value of AUDIO_CHANNEL_MODE_DUAL_MONO_LEFT_ONLY = 1
00394     AUDIO_CHANNEL_MODE_DUAL_MONO_LEFT_ONLY,
00395     
00399     //Value of AUDIO_CHANNEL_MODE_DUAL_MONO_RIGHT_ONLY = 2
00400     AUDIO_CHANNEL_MODE_DUAL_MONO_RIGHT_ONLY,
00401     
00406     //Value of AUDIO_CHANNEL_MODE_DUAL_MONO_STEREO = 3
00407     AUDIO_CHANNEL_MODE_DUAL_MONO_STEREO,
00408     
00412     //Value of AUDIO_CHANNEL_MODE_DUAL_MONO_MIXED = 4
00413     AUDIO_CHANNEL_MODE_DUAL_MONO_MIXED
00414   };
00418   struct TToiAudioStreamInfo {
00423     string Encoding;
00428     long SampleRate;
00430     IToiMediaPlayerBase::TToiAudioChannelFormat ChannelFormat;
00432     IToiMediaPlayerBase::TToiAudioChannelMode ChannelMode;
00435     string Language;
00438     string SubLanguage;
00440     IToiMediaPlayerBase::TToiAudioAudienceType AudienceType;
00443     long ComponentTag;
00444   };
00445   
00449   enum TToiAspectRatio
00450   {
00451     
00454     //Value of ASPECT_RATIO_UNKNOWN = 0
00455     ASPECT_RATIO_UNKNOWN,
00456     
00459     //Value of ASPECT_RATIO_4_3 = 1
00460     ASPECT_RATIO_4_3,
00461     
00464     //Value of ASPECT_RATIO_16_9 = 2
00465     ASPECT_RATIO_16_9
00466   };
00470   enum TToiActiveFormatDescriptor
00471   {
00472     
00475     //Value of ACTIVE_FORMAT_UNKNOWN = 0
00476     ACTIVE_FORMAT_UNKNOWN,
00477     
00480     //Value of ACTIVE_FORMAT_16_9_TOP = 1
00481     ACTIVE_FORMAT_16_9_TOP,
00482     
00485     //Value of ACTIVE_FORMAT_14_9_TOP = 2
00486     ACTIVE_FORMAT_14_9_TOP,
00487     
00490     //Value of ACTIVE_FORMAT_MORE_THAN_16_9_CENTRE = 3
00491     ACTIVE_FORMAT_MORE_THAN_16_9_CENTRE,
00492     
00495     //Value of ACTIVE_FORMAT_SAME_AS_CODED = 4
00496     ACTIVE_FORMAT_SAME_AS_CODED,
00497     
00500     //Value of ACTIVE_FORMAT_4_3_CENTRE = 5
00501     ACTIVE_FORMAT_4_3_CENTRE,
00502     
00505     //Value of ACTIVE_FORMAT_16_9_CENTRE = 6
00506     ACTIVE_FORMAT_16_9_CENTRE,
00507     
00510     //Value of ACTIVE_FORMAT_14_9_CENTRE = 7
00511     ACTIVE_FORMAT_14_9_CENTRE,
00512     
00516     //Value of ACTIVE_FORMAT_4_3_SHOOT_AND_PROTECT_14_9_CENTRE = 8
00517     ACTIVE_FORMAT_4_3_SHOOT_AND_PROTECT_14_9_CENTRE,
00518     
00522     //Value of ACTIVE_FORMAT_16_9_SHOOT_AND_PROTECT_14_9_CENTRE = 9
00523     ACTIVE_FORMAT_16_9_SHOOT_AND_PROTECT_14_9_CENTRE,
00524     
00528     //Value of ACTIVE_FORMAT_16_9_SHOOT_AND_PROTECT_4_3_CENTRE = 10
00529     ACTIVE_FORMAT_16_9_SHOOT_AND_PROTECT_4_3_CENTRE
00530   };
00536   struct TToiVideoStreamInfo {
00540     string Encoding;
00544     long ResolutionX;
00548     long ResolutionY;
00552     IToiMediaPlayerBase::TToiAspectRatio AspectRatio;
00556     IToiMediaPlayerBase::TToiActiveFormatDescriptor ActiveFormatDescriptor;
00561     long FrameRate;
00564     long ComponentTag;
00565   };
00566   
00570   enum TToiSubtitleType
00571   {
00572     
00575     //Value of SUBTITLE_UNKNOWN = 0
00576     SUBTITLE_UNKNOWN,
00577     
00580     //Value of SUBTITLE_NORMAL = 1
00581     SUBTITLE_NORMAL,
00582     
00585     //Value of SUBTITLE_HEARING_IMPAIRED = 2
00586     SUBTITLE_HEARING_IMPAIRED
00587   };
00591   enum TToiSubtitleFormat
00592   {
00593     
00596     //Value of SUBTITLE_DVB = 0
00597     SUBTITLE_DVB,
00598     
00601     //Value of SUBTITLE_ARIB = 1
00602     SUBTITLE_ARIB,
00603     
00606     //Value of SUBTITLE_TELETEXT = 2
00607     SUBTITLE_TELETEXT,
00608     
00611     //Value of SUBTITLE_DVD = 3
00612     SUBTITLE_DVD,
00613     
00618     //Value of SUBTITLE_XSUB = 4
00619     SUBTITLE_XSUB
00620   };
00623   enum TToiReceiveDmfMode
00624   {
00625     
00628     //Value of RECEIVE_DMF_MODE_AUTO = 0
00629     RECEIVE_DMF_MODE_AUTO,
00630     
00633     //Value of RECEIVE_DMF_MODE_NON_AUTO = 1
00634     RECEIVE_DMF_MODE_NON_AUTO,
00635     
00638     //Value of RECEIVE_DMF_MODE_SELECT = 2
00639     RECEIVE_DMF_MODE_SELECT,
00640     
00643     //Value of RECEIVE_DMF_MODE_SPECIAL = 3
00644     RECEIVE_DMF_MODE_SPECIAL
00645   };
00648   enum TToiRecordDmfMode
00649   {
00650     
00653     //Value of RECORD_DMF_MODE_AUTO = 0
00654     RECORD_DMF_MODE_AUTO,
00655     
00658     //Value of RECORD_DMF_MODE_NON_AUTO = 1
00659     RECORD_DMF_MODE_NON_AUTO,
00660     
00663     //Value of RECORD_DMF_MODE_SELECT = 2
00664     RECORD_DMF_MODE_SELECT
00665   };
00668   struct TToiSubtitleStreamInfo {
00672     string Language;
00676     IToiMediaPlayerBase::TToiSubtitleType Type;
00678     IToiMediaPlayerBase::TToiSubtitleFormat Format;
00681     IToiMediaPlayerBase::TToiAspectRatio AspectRatio;
00683     IToiMediaPlayerBase::TToiReceiveDmfMode ReceiveDmfMode;
00685     IToiMediaPlayerBase::TToiRecordDmfMode RecordDmfMode;
00686   };
00687   
00690   struct TToiStreamInfo {
00693     string Title;
00695     IToiMediaPlayerBase::TToiComponentSequence AvailableComponents;
00697     IToiMediaPlayerBase::TToiComponentSequence ActiveComponents;
00700     long PlayTime;
00706     //@ [Optional]
00707     IToiMediaPlayerBase::TToiPaceSequence Paces;
00708   };
00709   
00712   struct TToiTeletextStreamInfo {
00714     string Language;
00715   };
00716   
00722   const long PACE_PAUSE = 0;
00723   
00729   const long PACE_PLAY = 1000;
00730   
00736   const long PACE_FASTFORWARD = 5000;
00737   
00743   const long PACE_REWIND = -5000;
00744   
00751   const long POSITION_LIVE = -1616928864;
00752   
00760   const long CAPABILITY_PAUSE = 1;
00761   
00767   const long CAPABILITY_REWIND = 2;
00768   
00774   const long CAPABILITY_FASTFORWARD = 4;
00775   
00782   const long CAPABILITY_GETPOSITION = 8;
00783   
00789   const long CAPABILITY_SETPOSITION = 16;
00790   
00798   const long CAPABILITY_FREEZE = 32;
00799   
00804   const long CAPABILITY_TIMESHIFT = 64;
00805   
00812   void GetState(out TToiState state);
00813   
00821   void GetError(out TToiError error);
00822   
00836   void GetSessionId(out IToiMediaSession::TToiSessionId id)
00837    raises (TToiSessionViolationException);
00838   
00849   void GetUrl(out string url)
00850    raises (TToiSessionViolationException);
00851   
00871   void GetStreamInfo(out TToiStreamInfo streamInfo)
00872    raises (TToiSessionViolationException, TToiUnavailableException);
00873   
00899   void GetVideoStreamInfo(in TToiComponentEntry mediaComponent, 
00900         out TToiVideoStreamInfo streamInfo)
00901    raises (TToiSessionViolationException, TToiInvalidArgumentException, TToiUnavailableException);
00902   
00928   void GetAudioStreamInfo(in TToiComponentEntry mediaComponent, 
00929         out TToiAudioStreamInfo streamInfo)
00930    raises (TToiSessionViolationException, TToiInvalidArgumentException, TToiUnavailableException);
00931   
00957   void GetSubtitleStreamInfo(in TToiComponentEntry mediaComponent, 
00958         out TToiSubtitleStreamInfo streamInfo)
00959    raises (TToiSessionViolationException, TToiInvalidArgumentException, TToiUnavailableException);
00960   
00986   void GetTeletextStreamInfo(in TToiComponentEntry mediaComponent, 
00987         out TToiTeletextStreamInfo streamInfo)
00988    raises (TToiSessionViolationException, TToiInvalidArgumentException, TToiUnavailableException);
00989   
01014   void GetCapabilities(out long capabilityMask)
01015    raises (TToiSessionViolationException, TToiUnavailableException);
01016   
01040   void GetPosition(out long position)
01041    raises (TToiSessionViolationException, TToiOperationNotSupportedException, TToiUnavailableException);
01042   
01071   void GetPace(out long pace)
01072    raises (TToiSessionViolationException, TToiOperationNotSupportedException, TToiUnavailableException);
01073   
01089   void IsTimeshiftPlayback(out boolean timeshiftPlayback)
01090    raises (TToiSessionViolationException, TToiUnavailableException);
01091   
01107   void GetTimeshiftInfo(out TToiTimeshiftInfo timeshiftInfo)
01108    raises (TToiSessionViolationException, TToiUnavailableException);
01109   
01118   void GetTimeshiftError(out TToiError timeshiftError);
01119   
01137   void GetActiveComponents(out TToiComponentSequence components)
01138    raises (TToiSessionViolationException, TToiUnavailableException);
01139   
01160   void GetParameter(in string name, 
01161         out string value)
01162    raises (TToiInvalidArgumentException, TToiUnavailableException);
01163   
01188   //@ [EventFilter(AddressPosition=1)]
01189   
01190   
01191   void SubscribeParameter(in string address, 
01192         in string name)
01193    raises (TToiInvalidArgumentException, TToiUnavailableException);
01194   
01216   //@ [EventFilter(AddressPosition=1)]
01217   
01218   
01219   void UnsubscribeParameter(in string address, 
01220         in string name)
01221    raises (TToiInvalidArgumentException, TToiUnavailableException);
01222   
01227   //@ [ReleaseInstance]
01228   
01229   
01230   void ReleaseInstance();
01231   
01232   
01233   
01246   void RegisterObserver(in IToiApplicationService::TToiApplicationId applicationId,
01247                         in string address)
01248     raises (TToiInvalidArgumentException);
01249   
01258   void ReleaseObserver(in string address)
01259     raises (TToiInvalidArgumentException); 
01260   
01261 };
01262 
01263 #endif