bluetoothengine/btsac/src/btsacStateStreaming.cpp
changeset 1 6a1fe72036e3
parent 0 f63038272f30
child 45 b0aebde9b1fb
equal deleted inserted replaced
0:f63038272f30 1:6a1fe72036e3
    88 
    88 
    89 // -----------------------------------------------------------------------------
    89 // -----------------------------------------------------------------------------
    90 // CBtsacStreaming::CancelActionL
    90 // CBtsacStreaming::CancelActionL
    91 // -----------------------------------------------------------------------------
    91 // -----------------------------------------------------------------------------
    92 //
    92 //
    93 void CBtsacStreaming::CancelActionL(TInt aError, TBTSACGavdpResetReason aGavdpReset)
    93 void CBtsacStreaming::CancelActionL(TInt aError)
    94 	{
    94 	{
    95 	TRACE_FUNC
    95 	TRACE_FUNC
    96 	TInt ret = Parent().iStreamer->StopStream();
    96 	TInt ret = Parent().iStreamer->StopStream();
    97 	if ( ret )
    97 	if ( ret )
    98 		{
    98 		{
    99 		TRACE_INFO((_L("CBtsacStreaming::Cancel() iStreamer.StopStream() returned error(%d) !!!"), ret))
    99 		TRACE_INFO((_L("CBtsacStreaming::Cancel() iStreamer.StopStream() returned error(%d) !!!"), ret))
   100 		}
   100 		}
   101 	Parent().CompletePendingRequests(KCompleteAllReqs, aError);
   101 	Parent().CompletePendingRequests(KCompleteAllReqs, aError);
   102 	Parent().ChangeStateL(CBtsacListening::NewL(Parent(), aGavdpReset, aError));
   102 	Parent().ChangeStateL(CBtsacListening::NewL(Parent(), EGavdpResetReasonGeneral, aError));
   103 	}
   103 	}
   104 
   104 
   105 // -----------------------------------------------------------------------------
   105 // -----------------------------------------------------------------------------
   106 // CBtsacStreaming::OpenAudioLinkL
   106 // CBtsacStreaming::OpenAudioLinkL
   107 // -----------------------------------------------------------------------------
   107 // -----------------------------------------------------------------------------
   130 	TAvdtpSEPInfo SEPInfo;
   130 	TAvdtpSEPInfo SEPInfo;
   131 	ret = Parent().iRemoteSEPs->GetInfo(Parent().GetSEPIndex(), SEPInfo); 
   131 	ret = Parent().iRemoteSEPs->GetInfo(Parent().GetSEPIndex(), SEPInfo); 
   132 	if ( ret )
   132 	if ( ret )
   133 		{
   133 		{
   134 		TRACE_INFO((_L("CBtsacStreaming::CloseAudio() Couldn't retrieve SEP Info !")))
   134 		TRACE_INFO((_L("CBtsacStreaming::CloseAudio() Couldn't retrieve SEP Info !")))
   135 		CancelActionL(KErrCancel, EGavdpResetReasonGeneral); 
   135 		CancelActionL(KErrCancel); 
   136  		return;   
   136  		return;   
   137 		}
   137 		}
   138 	// Suspend audio
   138 	// Suspend audio
   139 	TSEID remoteSEPid = SEPInfo.SEID(); 	
   139 	TSEID remoteSEPid = SEPInfo.SEID(); 	
   140 	TRACE_INFO((_L("CBtsacStreaming::CloseAudio() Suspending remote SEID(%d)"), remoteSEPid.SEID()))	
   140 	TRACE_INFO((_L("CBtsacStreaming::CloseAudio() Suspending remote SEID(%d)"), remoteSEPid.SEID()))	
   169 		TInt err = Parent().AbortStream();
   169 		TInt err = Parent().AbortStream();
   170 		if(err)
   170 		if(err)
   171 			{
   171 			{
   172 			TRACE_INFO((_L("CBtsacStreaming::StartRecording() Couldn't abort stream.")))	
   172 			TRACE_INFO((_L("CBtsacStreaming::StartRecording() Couldn't abort stream.")))	
   173 			}
   173 			}
   174 		TRAP_IGNORE(Parent().ChangeStateL(CBtsacListening::NewL(Parent(), EGavdpResetReasonNone, KErrDisconnected)));
   174 		TRAP_IGNORE(Parent().ChangeStateL(CBtsacListening::NewL(Parent(), EGavdpResetReasonGeneral, KErrDisconnected)));
   175 	 	}
   175 	 	}
   176 	}
   176 	}
   177 
   177 
   178 // -----------------------------------------------------------------------------
   178 // -----------------------------------------------------------------------------
   179 // CBtsacStreaming::DisconnectL
   179 // CBtsacStreaming::DisconnectL
   186 	if ( ret )
   186 	if ( ret )
   187 		{
   187 		{
   188 		TRACE_INFO((_L("CBtsacStreaming::DisconnectL() StopStream() returned error: %d"), ret))	
   188 		TRACE_INFO((_L("CBtsacStreaming::DisconnectL() StopStream() returned error: %d"), ret))	
   189 		}
   189 		}
   190 	Parent().CompletePendingRequests(KDisconnectReq, ret);
   190 	Parent().CompletePendingRequests(KDisconnectReq, ret);
   191 	Parent().ChangeStateL(CBtsacListening::NewL(Parent(), EGavdpResetReasonDisconnect, KErrNone));
   191 	Parent().ChangeStateL(CBtsacListening::NewL(Parent(), EGavdpResetReasonGeneral, KErrNone));
   192 	}
   192 	}
   193 
   193 
   194 // -----------------------------------------------------------------------------
   194 // -----------------------------------------------------------------------------
   195 // CBtsacStreaming::GAVDP_SuspendStreamsConfirm
   195 // CBtsacStreaming::GAVDP_SuspendStreamsConfirm
   196 // -----------------------------------------------------------------------------
   196 // -----------------------------------------------------------------------------
   218 		TRACE_INFO((_L("CBtsacStreaming::Cancel() iStreamer.StopStream() returned error(%d) !!!"), ret))
   218 		TRACE_INFO((_L("CBtsacStreaming::Cancel() iStreamer.StopStream() returned error(%d) !!!"), ret))
   219 		}
   219 		}
   220 	
   220 	
   221 	// It is possible the remote disconnected while we have active close audio request.
   221 	// It is possible the remote disconnected while we have active close audio request.
   222 	Parent().CompletePendingRequests(KCompleteAllReqs, KErrNone);
   222 	Parent().CompletePendingRequests(KCompleteAllReqs, KErrNone);
   223     TRAP_IGNORE(Parent().ChangeStateL(CBtsacListening::NewL(Parent(), EGavdpResetReasonNone, KErrDisconnected)));
   223     TRAP_IGNORE(Parent().ChangeStateL(CBtsacListening::NewL(Parent(), EGavdpResetReasonGeneral, KErrDisconnected)));
   224 	}
   224 	}
   225 
   225 
   226 // -----------------------------------------------------------------------------
   226 // -----------------------------------------------------------------------------
   227 // CBtsacStreaming::GAVDP_ReleaseIndication
   227 // CBtsacStreaming::GAVDP_ReleaseIndication
   228 // -----------------------------------------------------------------------------
   228 // -----------------------------------------------------------------------------
   345 			}
   345 			}
   346 		case KErrHCILinkDisconnection: // -6305
   346 		case KErrHCILinkDisconnection: // -6305
   347 		case KErrDisconnected: // -36
   347 		case KErrDisconnected: // -36
   348 			{
   348 			{
   349 			Parent().CompletePendingRequests(KCompleteAllReqs, aError);
   349 			Parent().CompletePendingRequests(KCompleteAllReqs, aError);
   350 			Parent().ChangeStateL(CBtsacListening::NewL(Parent(), EGavdpResetReasonNone, aError));
   350 			Parent().ChangeStateL(CBtsacListening::NewL(Parent(), EGavdpResetReasonGeneral, aError));
   351 			break;
   351 			break;
   352 			}
   352 			}
   353 		default:
   353 		default:
   354 			{
   354 			{
   355 			// Unknown error. For safety's sake let's disconnect a2dp link and inform btaudioman
   355 			// Unknown error. For safety's sake let's disconnect a2dp link and inform btaudioman