diff -r 000000000000 -r 0e761a78d257 gst_plugins_symbian/gst/devsound/devsoundsrcwrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gst_plugins_symbian/gst/devsound/devsoundsrcwrapper.h Thu Dec 17 08:53:32 2009 +0200 @@ -0,0 +1,174 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include +#include +#include +#include + +#include "gstdevsoundsrc.h" + +#include "gstg711encoderinterface.h" +#include "gstilbcencoderinterface.h" + +class CActiveListener : public CActive + { +public: +CActiveSchedulerWait *asw; + CActiveListener() : CActive(CActive::EPriorityStandard) + { + CActiveScheduler::Add(this); + } + void InitialiseActiveListener() + { + iStatus = KRequestPending; SetActive(); + } + // From CActive + virtual void RunL() + { + asw->AsyncStop(); + } + void StartActiveScheduler() + { + asw->Start(); + } + virtual void DoCancel() + { + asw->AsyncStop(); + //iWait->Stop(); + }; + + }; + + +class DevSoundWrapperSrc :public MDevSoundObserver +{ + +public: + CActiveListener *AL; + CActiveScheduler *as; + TInt init_complete; + CMMFBuffer *buffer; + CMMFDevSound *dev_sound; + TMMFCapabilities caps; + int buffersize; + int gain; + int dev_count; + TInt iCallbackError; + TUint32 fourcc; + int bufferreadpos; + guint* supportedbitrates; + CSpeechEncoderConfig* iSpeechEncoderConfig; + CG711EncoderIntfc* iG711EncoderIntfc; + CG729EncoderIntfc* iG729EncoderIntfc; + CIlbcEncoderIntfc* iIlbcEncoderIntfc; + +public: + DevSoundWrapperSrc(); + + void InitializeComplete(TInt aError); + void ToneFinished(TInt aError); + void BufferToBeFilled(CMMFBuffer* aBuffer); + void PlayError(TInt aError); + void BufferToBeEmptied(CMMFBuffer* aBuffer); + void RecordError(TInt aError); + void ConvertError(TInt aError); + void DeviceMessage(TUid aMessageType, const TDesC8& aMsg); + void SendEventToClient(const TMMFEvent& aEvent); + void GetDataTypesL(GstDevsoundSrc *ds); + int GetSupportedBitratesL(GstDevsoundSrc* ds); + void GetSpeechEncoderProperties(GstDevsoundSrc* ds); + +}; + +#ifdef __cplusplus +extern "C" { +#endif + + + int recordinit(DevSoundWrapperSrc *handle); + int read_data(DevSoundWrapperSrc *handle,void *ptr, int length); + int record_data(DevSoundWrapperSrc *handle); + int get_rate(DevSoundWrapperSrc *handle); + int get_channels(DevSoundWrapperSrc *handle); + int get_encoding(DevSoundWrapperSrc *handle); + int get_size(DevSoundWrapperSrc *handle); + void set_rate(DevSoundWrapperSrc *handle,int rate); + void set_channels(DevSoundWrapperSrc *handle,int channels); + void set_encoding(DevSoundWrapperSrc *handle,int encoding); + void set_size(DevSoundWrapperSrc *handle,int size); + void set_fourcc(DevSoundWrapperSrc *handle,int fourcc); + + int open_devsound(DevSoundWrapperSrc **handle); + int open_device(DevSoundWrapperSrc **handle); + int initialize_devsound(GstDevsoundSrc* ds); + int close_devsound(GstDevsoundSrc* ds); + + int SetConfigurations(DevSoundWrapperSrc *handle); + int reset_devsound(DevSoundWrapperSrc *handle); + + int get_databuffer(DevSoundWrapperSrc *handle, const TUint8** buffer); + int get_databuffer_size(DevSoundWrapperSrc *handle); + + int post_init_setconfig(DevSoundWrapperSrc *handle); + void populateproperties(GstDevsoundSrc *ds); + void initproperties(GstDevsoundSrc* ds); + int pre_init_setconf(GstDevsoundSrc *ds); + void getsupporteddatatypes(GstDevsoundSrc *ds); + + int get_speech_encoder_bit_rate(DevSoundWrapperSrc *handle,guint* aBitrate); + int get_speech_encoder_supported_bit_rates(GstDevsoundSrc *ds); + int get_speech_encoder_vad_mode(DevSoundWrapperSrc *handle,gboolean* aVadMode); + int set_speech_encoder_bit_rate(DevSoundWrapperSrc *handle,guint aBitrate); + int set_speech_encoder_vad_mode(DevSoundWrapperSrc *handle,gboolean aVadMode); + + int get_g711_encoder_vad_mode(DevSoundWrapperSrc *handle,gboolean* aVadMode); + int set_g711_encoder_mode(DevSoundWrapperSrc *handle,enum TG711EncodeMode aEncodeMode); + int set_g711_vad_mode(DevSoundWrapperSrc *handle,gboolean aVadMode); + + int set_g729_vad_mode(DevSoundWrapperSrc *handle,TBool aVadMode); + int get_g729_vad_mode(DevSoundWrapperSrc *handle,TBool* aVadMode); + + int set_ilbc_encoder_mode(DevSoundWrapperSrc *handle,enum TIlbcEncodeMode aEncodeMode); + int set_ilbc_vad_mode(DevSoundWrapperSrc *handle,gboolean aVadMode); + int get_ilbc_vad_mode(DevSoundWrapperSrc *handle,gboolean* aVadMode); + + +#ifdef __cplusplus +}//extern c +#endif