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 |