00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef ISTREAMER_IDL
00018 #define ISTREAMER_IDL
00019
00020 #include "IToiMediaPlayer.idl"
00021 #include "IToiMediaRecorder.idl"
00022 #include "IToiMediaSession.idl"
00023 #include "TToiInvalidArgumentException.idl"
00024 #include "TToiInvalidPreconditionException.idl"
00025 #include "TToiSessionViolationException.idl"
00026 #include "TToiUnavailableException.idl"
00027
00028 #include "IMediaSession.idl"
00029
00034 interface IStreamer
00035 {
00036 typedef sequence<octet> binary;
00037
00038 enum TFeature
00039 {
00040 FEATURE_AUDIO,
00041 FEATURE_VIDEO,
00042 FEATURE_PIPVIDEO,
00043 FEATURE_SOCKET,
00044 FEATURE_RECORD,
00045 FEATURE_TELETEXT,
00046 FEATURE_OTHER
00047 };
00048
00054 void RegisterObserver(in string address);
00055
00060 void ReleaseObserver();
00061
00066 void GetState(out IToiMediaPlayer::TToiState state);
00067
00072 void GetError(out IToiMediaPlayer::TToiError error);
00073
00086 void GetCapabilities(out long capabilityMask)
00087 raises (TToiSessionViolationException);
00088
00103 void GetPosition(out long position, out long pace)
00104 raises (TToiOperationNotSupportedException,
00105 TToiSessionViolationException);
00106
00115 void GetUrl(out string url)
00116 raises (TToiSessionViolationException);
00117
00133 void GetStreamInfo(out IToiMediaPlayer::TToiStreamInfo streamInfo)
00134 raises (TToiNoDataException,
00135 TToiSessionViolationException);
00136
00150 void ActivateComponent(in IToiMediaPlayer::TToiComponentEntry mediaComponent)
00151 raises (TToiInvalidArgumentException,
00152 TToiSessionViolationException);
00153
00168 void DeactivateComponent(in IToiMediaPlayer::TToiComponentType
00169 mediaComponent)
00170 raises (TToiInvalidArgumentException,
00171 TToiSessionViolationException);
00172
00192 void GetVideoStreamInfo(in IToiMediaPlayer::TToiComponentEntry
00193 mediaComponent,
00194 out IToiMediaPlayer::TToiVideoStreamInfo info)
00195 raises (TToiNoDataException,
00196 TToiInvalidArgumentException,
00197 TToiSessionViolationException);
00198
00218 void GetAudioStreamInfo(in IToiMediaPlayer::TToiComponentEntry
00219 mediaComponent,
00220 out IToiMediaPlayer::TToiAudioStreamInfo info)
00221 raises (TToiNoDataException,
00222 TToiInvalidArgumentException,
00223 TToiSessionViolationException);
00224
00245 void GetSubtitleStreamInfo(in IToiMediaPlayer::TToiComponentEntry
00246 mediaComponent,
00247 out IToiMediaPlayer::TToiSubtitleStreamInfo info)
00248 raises (TToiNoDataException,
00249 TToiInvalidArgumentException,
00250 TToiSessionViolationException);
00251
00272 void GetTeletextStreamInfo(in IToiMediaPlayer::TToiComponentEntry
00273 mediaComponent,
00274 out IToiMediaPlayer::TToiTeletextStreamInfo info)
00275 raises (TToiNoDataException,
00276 TToiInvalidArgumentException,
00277 TToiSessionViolationException);
00278
00294 void SetAudioChannelMode(in long streamId,
00295 in IToiMediaPlayer::TToiAudioChannelMode
00296 channelMode)
00297 raises (TToiInvalidArgumentException,
00298 TToiSessionViolationException);
00299
00314 void GetParameter(in string name, out string value)
00315 raises (TToiInvalidArgumentException,
00316 TToiSessionViolationException);
00317
00337 void SetParameter(in string name, in string value)
00338 raises (TToiInvalidArgumentException,
00339 TToiPermissionDeniedException,
00340 TToiSessionViolationException);
00341
00359 void UnsetParameter(in string name)
00360 raises (TToiInvalidArgumentException,
00361 TToiPermissionDeniedException,
00362 TToiSessionViolationException);
00363
00381 void SubscribeParameter(in string name,
00382 in string address)
00383 raises (TToiInvalidArgumentException,
00384 TToiSessionViolationException);
00385
00404 void UnsubscribeParameter(in string name,
00405 in string address)
00406 raises (TToiInvalidArgumentException,
00407 TToiSessionViolationException);
00408
00442
00443 void AddSectionDataRelay(in long pid,
00444 in IToiMediaSession::TToiDataRelayData data,
00445 in IToiMediaSession::TToiDataRelayData include,
00446 in IToiMediaSession::TToiDataRelayData exclude,
00447 in long length,
00448 in string socketName,
00449 in long dataRelayId)
00450 raises (TToiInvalidArgumentException,
00451 TToiNotEnoughResourcesException,
00452 TToiSessionViolationException);
00453
00478 void AddPacketDataRelay(in long pid,
00479 in string socketName,
00480 in long dataRelayId)
00481 raises (TToiInvalidArgumentException,
00482 TToiNotEnoughResourcesException,
00483 TToiSessionViolationException);
00484
00498 void RemoveDataRelay(in long dataRelayId)
00499 raises (TToiInvalidArgumentException,
00500 TToiSessionViolationException);
00501
00525 void SetDecryptionCipher(in IToiMediaSession::TToiStreamIdSequence streamIds,
00526 in IToiMediaSession::TToiCipher cipher,
00527 in IToiMediaSession::TToiCipherBlockMode blockMode,
00528 in IToiMediaSession::TToiCipherResidueMode residueMode)
00529 raises (TToiInvalidArgumentException,
00530 TToiOperationNotSupportedException,
00531 TToiSessionViolationException);
00532
00563
00564 void SetDecryptionKeys(in IToiMediaSession::TToiStreamIdSequence streamIds,
00565 in boolean isEncrypted,
00566 in IToiMediaSession::TToiCipherData evenKey,
00567 in IToiMediaSession::TToiCipherData evenIv,
00568 in IToiMediaSession::TToiCipherData oddKey,
00569 in IToiMediaSession::TToiCipherData oddIv,
00570 in long length)
00571 raises (TToiInvalidArgumentException,
00572 TToiOperationNotSupportedException,
00573 TToiSessionViolationException);
00574
00599 void SetEncryptionData(in binary keyMaterial,
00600 in long keyMaterialLength,
00601 in binary markerToken,
00602 in long markerTokenLength,
00603 in IMediaSession::TCipherKeyParity keyParity)
00604 raises (TToiInvalidArgumentException,
00605 TToiSessionViolationException);
00606
00623 void GetFrontendInfo(out IMediaSession::TFrontendInfo info)
00624 raises (TToiNoDataException,
00625 TToiOperationNotSupportedException,
00626 TToiSessionViolationException);
00627
00644 void Open(in string sourceUrl)
00645 raises (TToiInvalidArgumentException,
00646 TToiOperationNotSupportedException,
00647 TToiSessionViolationException);
00648
00655 void Close()
00656 raises (TToiSessionViolationException);
00657
00666 void Play(in long pace)
00667 raises (TToiOperationNotSupportedException,
00668 TToiSessionViolationException);
00669
00680 void PlayFromPosition(in long position,in long pace)
00681 raises (TToiOperationNotSupportedException,
00682 TToiInvalidArgumentException,
00683 TToiSessionViolationException);
00684
00696 void ActivateDecoders()
00697 raises (TToiOperationNotSupportedException,
00698 TToiSessionViolationException);
00699
00713 void DeactivateDecoders(in boolean blanking)
00714 raises (TToiOperationNotSupportedException,
00715 TToiSessionViolationException);
00716
00741 void StartRecording(in string assetUri,
00742 in unsigned long offset)
00743 raises (TToiInvalidArgumentException,
00744 TToiOperationNotSupportedException,
00745 TToiSessionViolationException);
00746
00761 void StopRecording(in string assetUri)
00762 raises (TToiOperationNotSupportedException,
00763 TToiSessionViolationException);
00764
00782 void ActivateDistributor(in string destinationUrl)
00783 raises (TToiInvalidArgumentException,
00784 TToiOperationNotSupportedException,
00785 TToiSessionViolationException);
00786
00797 void DeactivateDistributor()
00798 raises (TToiOperationNotSupportedException,
00799 TToiSessionViolationException);
00800
00814 void SetPipMode(in boolean mode)
00815 raises (TToiOperationNotSupportedException,
00816 TToiSessionViolationException);
00817
00826 void GetPipMode(out boolean active)
00827 raises (TToiSessionViolationException);
00828
00842 void SuspendRecordings(in string reason)
00843 raises (TToiOperationNotSupportedException,
00844 TToiSessionViolationException);
00845
00859 void ResumeRecordings(in string reason)
00860 raises (TToiOperationNotSupportedException,
00861 TToiSessionViolationException);
00862 };
00863
00864 #endif