26 #ifndef _SB_GSTREAMER_TRANSCODE_DEVICE_CONFIGURATOR_H_
27 #define _SB_GSTREAMER_TRANSCODE_DEVICE_CONFIGURATOR_H_
30 #define SB_GSTREAMER_TRANSCODE_DEVICE_CONFIGURATOR_CID \
31 { 0x8d5d04f8, 0x2060, 0x4e82, \
32 { 0xa2, 0x5b, 0xc7, 0xd6, 0x7a, 0x6b, 0x52, 0x92 } }
34 #define SB_GSTREAMER_TRANSCODE_DEVICE_CONFIGURATOR_CONTRACTID \
35 "@songbirdnest.com/Songbird/Mediacore/Transcode/Configurator/Device/GStreamer;1"
36 #define SB_GSTREAMER_TRANSCODE_DEVICE_CONFIGURATOR_CLASSNAME \
37 "GStreamerTranscodeDeviceConfigurator"
41 #include <sbITranscodingConfigurator.h>
42 #include <sbPIGstTranscodingConfigurator.h>
45 #include <nsDataHashtable.h>
50 class nsIWritablePropertyBag;
63 NS_DECL_SBIDEVICETRANSCODINGCONFIGURATOR
64 NS_DECL_SBPIGSTTRANSCODINGCONFIGURATOR
67 #define FORWARD_TO_BASE(METHOD, PROTO, ARGS) \
68 NS_IMETHOD METHOD PROTO { return sbTranscodingConfigurator::METHOD(ARGS); }
87 #undef FORWARD_TO_BASE
167 const Dimensions& aMaximum);
195 nsIWritablePropertyBag * aDstBag,
253 #endif // _SB_GSTREAMER_TRANSCODE_DEVICE_CONFIGURATOR_H_
NS_IMETHOD GetInputUri(nsIURI **aUri)
NS_IMETHOD GetVideoFormat(sbIMediaFormatVideo **aVideoFormat)
NS_IMETHOD GetUseAudioEncoder(PRBool *aUseAudioEncoder)
Dimensions mOutputDimensions
NS_IMETHOD DetermineOutputType()
NS_IMETHOD SetInputFormat(sbIMediaFormat *aInputFormat)
NS_IMETHOD GetAudioEncoder(nsAString &aAudioEncoder)
NS_IMETHOD GetAvailableProfiles(nsIArray **aProfiles)
Dimensions(PRInt32 w, PRInt32 h)
sbFraction mVideoFrameRate
nsresult DetermineOutputVideoBitrate()
nsDataHashtable< nsISupportsHashKey, EncoderProfileData > mElementNames
nsresult SetAudioProperties()
NS_IMETHOD GetVideoEncoderProperties(nsIPropertyBag **aVideoEncoderProperties)
virtual ~sbGStreamerTranscodeDeviceConfigurator()
NS_IMETHOD GetInputFormat(sbIMediaFormat **aInputFormat)
NS_IMETHOD GetLastError(sbITranscodeError **aLastError)
#define FORWARD_TO_BASE(METHOD, PROTO, ARGS)
nsCOMPtr< sbITranscodeEncoderProfile > mSelectedProfile
NS_IMETHOD GetMuxer(nsAString &aMuxer)
NS_IMETHOD SetInputUri(nsIURI *aUri)
nsresult CopyPropertiesIntoBag(nsIArray *aSrcProps, nsIWritablePropertyBag *aDstBag, PRBool aIsVideo)
NS_IMETHOD GetFileExtension(nsACString &aFileExtension)
nsCOMPtr< nsIArray > mAvailableProfiles
NS_IMETHOD GetUseMuxer(PRBool *aUseMuxer)
nsCOMPtr< sbIVideoFormatType > mSelectedFormat
nsCOMPtr< sbIDevice > mDevice
NS_IMETHOD GetAudioFormat(sbIMediaFormatAudio **aAudioFormat)
sbGStreamerTranscodeDeviceConfigurator()
static Dimensions GetMaximumFit(const Dimensions &aInput, const Dimensions &aMaximum)
NS_IMETHOD GetAudioEncoderProperties(nsIPropertyBag **aAudioEncoderProperties)
nsresult SetVideoProperties()
nsresult EnsureProfileAvailable(sbITranscodeEncoderProfile *aProfile)
NS_IMETHOD GetUseVideoEncoder(PRBool *aUseVideoEncoder)
NS_IMETHOD GetVideoEncoder(nsAString &aVideoEncoder)
nsresult DetermineOutputDimensions()