mmserv/tms/tmscallserver/inc/tmsipcallstream.h
branchRCL_3
changeset 40 60e492b28869
parent 17 3570217d8c21
child 45 095bea5f582e
--- a/mmserv/tms/tmscallserver/inc/tmsipcallstream.h	Mon Jun 21 16:15:34 2010 +0300
+++ b/mmserv/tms/tmscallserver/inc/tmsipcallstream.h	Thu Jul 15 19:13:36 2010 +0300
@@ -56,6 +56,19 @@
 
 namespace TMS {
 
+/**
+ *  TMSIPDevSoundObserver
+  * An observer interface providing TMSIPCallStreamBase event notifications.
+ */
+class TMSIPDevSoundObserver
+    {
+public:
+    virtual void DownlinkInitCompleted(gint status) = 0;
+    virtual void UplinkInitCompleted(gint status) = 0;
+    virtual void UplinkStarted(gint status) = 0;
+    virtual void DownlinkStarted(gint status) = 0;
+    };
+
 // -----------------------------------------------------------------------------
 //  Class Name:  TMSIPCallStreamBase
 //
@@ -91,6 +104,8 @@
     gint ConfigureMedia(const guint32 aCodecID);
 
 protected:
+    TMSIPCallStreamBase(TMSIPDevSoundObserver& observer);
+
 #ifndef __USE_GSTREAMER__
     // From MDevSoundObserver
     virtual void InitializeComplete(TInt aError) = 0;
@@ -105,7 +120,7 @@
 #endif //__USE_GSTREAMER__
 
 protected:
-
+    TMSIPDevSoundObserver& iObserver;
     CActiveScheduler* iActiveScheduler;
     TStreamState iStatus;
 
@@ -145,11 +160,9 @@
     static void cb_raw_playback_handoff(GstElement* appsrc, guint size);
     static gboolean bus_call(GstBus* bus, GstMessage* msg, gpointer data);
 #endif //__USE_GSTREAMER__
-    static TMSIPDownlink* NewL(const guint32 codecID,
-            const TMMFPrioritySettings priority);
-    TMSIPDownlink();
-    void ConstructL(const guint32 codecID,
-            const TMMFPrioritySettings priority);
+
+    static TMSIPDownlink* NewL(TMSIPDevSoundObserver& observer,
+            const guint32 codecID, const TMMFPrioritySettings priority);
 
     gint SetCodecCi();
     void Start();
@@ -178,6 +191,11 @@
     void SetAudioDeviceL(TMSAudioOutput output);
     void GetAudioDeviceL(TMSAudioOutput& output);
 
+protected:
+    TMSIPDownlink(TMSIPDevSoundObserver& observer);
+    void ConstructL(const guint32 codecID,
+            const TMMFPrioritySettings priority);
+
 private:
     void SetCodecCiL();
 
@@ -214,9 +232,6 @@
     GstElement* iSink;
     GstBus* iBusPlay;
 #endif //__USE_GSTREAMER__
-#ifdef _DEBUG
-    gint iSamplesPlayedCount;
-#endif
 
 #ifdef __PLAY_WAV_FROM_FILE__
     RFile iFile;
@@ -242,11 +257,9 @@
     static void cb_record_raw_handoff(GstElement *sink);
     static gboolean bus_call(GstBus* bus, GstMessage* msg, gpointer data);
 #endif //__USE_GSTREAMER__
-    static TMSIPUplink* NewL(const guint32 codecID,
-            const TMMFPrioritySettings priority);
-    TMSIPUplink();
-    void ConstructL(const guint32 codecID,
-            const TMMFPrioritySettings priority);
+
+    static TMSIPUplink* NewL(TMSIPDevSoundObserver& observer,
+            const guint32 codecID, const TMMFPrioritySettings priority);
 
     gint SetCodecCi();
     void Start();
@@ -268,6 +281,11 @@
     gint SetVad(const TMSFormatType fmttype, const gboolean vad);
     gint GetVad(const TMSFormatType fmttype, gboolean& vad);
 
+protected:
+    TMSIPUplink(TMSIPDevSoundObserver& observer);
+    void ConstructL(const guint32 codecID,
+            const TMMFPrioritySettings priority);
+
 private:
     void SetCodecCiL();
 
@@ -300,9 +318,6 @@
     GstElement* iAppSink;
     GstBus* iBusRec;
 #endif //__USE_GSTREAMER__
-#ifdef _DEBUG
-    gint iSamplesRecCount;
-#endif
     };
 
 } //namespace TMS