C:/projects/songbird/components/mediacore/transcoding/public/sbIMediaTranscoder.idl

Go to the documentation of this file.
00001 /*
00002 //
00003 // BEGIN SONGBIRD GPL
00004 // 
00005 // This file is part of the Songbird web player.
00006 //
00007 // Copyright© 2006 POTI, Inc.
00008 // http://songbirdnest.com
00009 // 
00010 // This file may be licensed under the terms of of the
00011 // GNU General Public License Version 2 (the “GPL”).
00012 // 
00013 // Software distributed under the License is distributed 
00014 // on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either 
00015 // express or implied. See the GPL for the specific language 
00016 // governing rights and limitations.
00017 //
00018 // You should have received a copy of the GPL along with this 
00019 // program. If not, go to http://www.gnu.org/licenses/gpl.html
00020 // or write to the Free Software Foundation, Inc., 
00021 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00022 // 
00023 // END SONGBIRD GPL
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 };

Generated on Mon Aug 21 21:01:55 2006 for Songbird by  doxygen 1.4.7