# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1276253827 -10800 # Node ID 04c79585b4c7409fdb55b7dd493c7f0e1f58badf # Parent 1373546e05c685a2bdf0b49acf2c0a4f3fda6823 Revision: 201021 Kit: 2010123 diff -r 1373546e05c6 -r 04c79585b4c7 gst_plugins_symbian/gst/devsound/devsoundsinkwrapper.cpp --- a/gst_plugins_symbian/gst/devsound/devsoundsinkwrapper.cpp Thu May 27 13:09:21 2010 +0300 +++ b/gst_plugins_symbian/gst/devsound/devsoundsinkwrapper.cpp Fri Jun 11 13:57:07 2010 +0300 @@ -42,6 +42,7 @@ iIlbcDecoderIntfc = NULL; iCallbackError = KErrNone; iAudioOutput = NULL; + iIsBufferToBeFilledDone = TRUE; } /*********************************************************/ @@ -78,6 +79,7 @@ { User::RequestComplete(stat, KErrNone); iCallbackError = KErrNone; + iIsBufferToBeFilledDone = FALSE; } else { @@ -613,15 +615,19 @@ int playinit(DevSoundWrapper *handle) { TRACE_PRN_FN_ENT; - - ((handle)->AL)->InitialiseActiveListener(); - handle->eosReceived = false; + handle->iCallbackError = KErrNone; + if( handle->iIsBufferToBeFilledDone ) + { + ((handle)->AL)->InitialiseActiveListener(); + handle->eosReceived = false; + + TRAP(handle->iCallbackError,(handle->dev_sound)->PlayInitL()); + if (handle->iCallbackError == KErrNone) + { + ((handle)->AL)->StartActiveScheduler(); + } + } - TRAP(handle->iCallbackError,(handle->dev_sound)->PlayInitL()); - if (handle->iCallbackError == KErrNone) - { - ((handle)->AL)->StartActiveScheduler(); - } TRACE_PRN_IF_ERR(handle->iCallbackError); TRACE_PRN_FN_EXT; @@ -679,7 +685,7 @@ (handle->dev_sound)->PlayData(); ((handle)->AL)->StartActiveScheduler(); - + handle->iIsBufferToBeFilledDone = TRUE; TRACE_PRN_FN_EXT; return KErrNone; } diff -r 1373546e05c6 -r 04c79585b4c7 gst_plugins_symbian/gst/devsound/devsoundsinkwrapper.h --- a/gst_plugins_symbian/gst/devsound/devsoundsinkwrapper.h Thu May 27 13:09:21 2010 +0300 +++ b/gst_plugins_symbian/gst/devsound/devsoundsinkwrapper.h Fri Jun 11 13:57:07 2010 +0300 @@ -105,7 +105,7 @@ CG729DecoderIntfc* iG729DecoderIntfc; CIlbcDecoderIntfc* iIlbcDecoderIntfc; CAudioOutput* iAudioOutput; - + bool iIsBufferToBeFilledDone; public: void InitializeComplete(TInt aError);