00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00032 #include "nsISupports.idl"
00033
00040 [scriptable, uuid(497EADC6-CE0E-4e40-91A5-EE6D11B2A4DA)]
00041 interface sbIMediaType : nsISupports
00042 {
00046 attribute AString name;
00047
00051 attribute AString description;
00052
00056 attribute AString majorType;
00057
00061 attribute AString contentType;
00062
00071 void getMIMETypes(out PRUint32 nMIMECount, [array, size_is(nMIMECount), retval] out wstring aMIMETypes);
00072
00081 void getExtensions(out PRUint32 nExtCount, [array, size_is(nExtCount), retval] out wstring aExts);
00082 };
00083
00095 [scriptable, uuid(497EADC6-CE0E-4e40-91A5-EE6D11B2A4DA)]
00096 interface sbIMediaTranscoderCallback : nsISupports
00097 {
00104 void onTranscodeBegin(in AString aInputURL, in AString aOutputURL, in sbIMediaType aOutputType);
00105
00112 void onTranscodeProgress(in AString aInputURL, in AString aOutputURL, in PRInt32 aPercent);
00113
00118 void onTranscodeMessage(in AString aMessage);
00119
00127 void onTranscodeError(in AString aInputURL, in AString aOutputURL, in PRInt32 aErrorVal, in AString aErrorStr);
00128
00134 void onTranscodeComplete(in AString aInputURL, in AString aOutputURL);
00135 };
00136
00150 [scriptable, uuid(497EADC6-CE0E-4e40-91A5-EE6D11B2A4DA)]
00151 interface sbIMediaTranscoder : nsISupports
00152 {
00153
00157 attribute AString name;
00158
00162 attribute AString description;
00163
00167 attribute PRBool completed;
00168
00183 PRInt32 transcode(in AString aInputURL,
00184 in sbIMediaType aInputMIMEType,
00185 in AString aOutputURL,
00186 in sbIMediaType aOutputMIMEType,
00187 in sbIMediaTranscoderCallback aCallback);
00188
00198 void getSupportedMajorInputTypes(out PRUint32 nMajorCount,
00199 [array, size_is(nMajorCount), retval] out wstring aMajorInputs);
00200
00209 void getSupportedInputMediaTypes(out PRUint32 nInputCount,
00210 [array, size_is(nInputCount), retval] out sbIMediaType aInputTypes);
00211
00221 void getSupportedMajorOutputTypes(out PRUint32 nMajorCount,
00222 [array, size_is(nMajorCount), retval] out wstring aMajorOutputs);
00223
00232 void getSupportedOutputMediaTypes(out PRUint32 nOutputCount,
00233 [array, size_is(nOutputCount), retval] out sbIMediaType aOutputTypes);
00234 };
00235
00249 [scriptable, uuid()]
00250 interface sbIMediaTranscoderManager : nsISupports
00251 {
00267 PRInt32 transcode(in AString aInputURL,
00268 in sbIMediaType aInputMIMEType,
00269 in AString aOutputURL,
00270 in sbIMediaType aOutputMIMEType,
00271 in sbIMediaTranscoderCallback aCallback);
00272
00281 void getSupportedInputMediaTypes(out PRUint32 nInputCount,
00282 [array, size_is(nInputCount), retval] out sbIMediaType aInputTypes);
00283
00292 void getSupportedOutputMediaTypes(out PRUint32 nOutputCount,
00293 [array, size_is(nOutputCount), retval] out sbIMediaType aOutputTypes);
00294 };