×
Namespaces

Variants
Actions
Revision as of 06:57, 12 March 2012 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Avoid panics caused by deleting the VAS uplink stream before all buffers emptied (Known Issue)

From Nokia Developer Wiki
Jump to: navigation, search

Premature deletion of a VoIP Audio Service (VAS) uplink stream (CVoIPAudioUplinkStream) instance may cause a panic.

Article Metadata
Code ExampleTested with
Devices(s): Tested on Nokia 5630,
Nokia 5800
Compatibility
Platform(s): S60 3rd Edition, FP2
S60 5th Edition
S60 5th Edition
S60 3rd Edition FP2
Article
Keywords: CVoIPAudioUplinkStream, MVoIPUplinkObserver
Created: User:Kbwiki (20 Oct 2010)
Last edited: hamishwillee (12 Mar 2012)

Detailed description

After calling CVoIPAudioUplinkStream::Stop(), a VAS client should still be prepared to receive MVoIPUplinkObserver::EmptyBuffer() callbacks as VAS ensures that all recorded (and buffered) data is delivered.

Deleting the uplink stream immediately after calling Stop() causes a VoIPUplinkThreadMmfDevSoundProxy 1 panic.

Solution

A VAS client should proceed to delete the uplink stream only after receiving a MVoIPUplinkObserver::Event() callback with either KUplinkClosed or KUplinkError as an event type.

Additionally, after calling CVoIPAudioUplinkStream::Stop(), a client should not longer call CVoIPAudioUplinkStream::BufferEmptied() in response to MVoIPUplinkObserver::EmptyBuffer() callbacks.

The VoIPTestApp example application takes care of this by maintaining uplink/downlink state variables and only calling BufferEmptied() if the uplink is in 'streaming' state.

This page was last modified on 12 March 2012, at 06:57.
105 page views in the last 30 days.