Hi all,
I am using AudioRecord to get raw PCM data from the audio device and
do some extra processing with NDK. It works fine in the first 16
seconds, and crashes after that. There is meaningful debug info I can
refer to. Here is my code and the Log info. Please help! thanks!
class AudioReceiveThread extends Thread {
private InetAddress serverAddr;
private InputStream inStream;
int callback_count = 0;
short[] mAudioLocalBuffer = null;
public void run()
{
super.run();
mAudioEncodedBuffer = new byte[1000];
// mAudioLocalBuffer = new short[4000];
/* audio */
mRecordListener = new OnRecordPositionUpdateListener() {
public void onPeriodicNotification(AudioRecord
recorder) {
mAudioLocalBuffer = new short[4000];
byte mode = 6;
mSamplesRead = recorder.read(mAudioLocalBuffer, 0,
AUDIO_BUFFER_SAMPLEREAD_SIZE);
if (mSamplesRead > 0)
{
// do something here...
System.out.println("Read samples\n");
System.out.println(mSamplesRead);
System.out.println(callback_count);
System.out.println("Going to encode\n");
n = EncoderInterfaceEncode(mode,
mAudioLocalBuffer,mAudioEncodedBuffer,0);
System.out.println("After Encoder...\n");
System.out.println(n);
callback_count++;
}
else
{
System.out.println("Read nothig\n");
}
mAudioLocalBuffer = null;
}
public void onMarkerReached(AudioRecord recorder) {
System.out.println("What? Hu!? Where am I?");
}
};
try {
mAudioRecorder = new AudioRecord(
android.media.MediaRecorder.AudioSource.MIC,
AUDIO_SAMPLE_FREQ,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT,
AUDIO_BUFFER_BYTESIZE);
} catch (Exception e) {
System.out.println("Unable to init audio recording!");
}
EncoderInterfaceInit(0);
mAudioBuffer = new short[AUDIO_BUFFER_SAMPLEREAD_SIZE];
mAudioRecorder.setPositionNotificationPeriod(AUDIO_BUFFER_SAMPLEREAD_SIZE/
2);
mAudioRecorder.setRecordPositionUpdateListener(mRecordListener);
mAudioRecorder.startRecording();
// /* test if I can read anything at all... (and yes, this
here works!) */
mSamplesRead = mAudioRecorder.read(mAudioBuffer, 0,
AUDIO_BUFFER_SAMPLEREAD_SIZE);
}
}
Log Info:
05-07 14:59:20.040: INFO/System.out(3994): Read samples
05-07 14:59:20.040: INFO/System.out(3994): 4000
05-07 14:59:20.040: INFO/System.out(3994): 36
05-07 14:59:20.040: INFO/System.out(3994): Going to encode
05-07 14:59:20.040: DEBUG/libnav(3994): Before Encode, mode = 6,
forceSpeech = 0
05-07 14:59:20.050: DEBUG/libnav(3994): After Encode
05-07 14:59:20.060: INFO/System.out(3994): After Encoder...
05-07 14:59:20.060: INFO/System.out(3994): 27
05-07 14:59:20.210: INFO/DEBUG(2965): *** *** *** *** *** *** *** ***
*** *** *** *** *** *** *** ***
05-07 14:59:20.210: INFO/DEBUG(2965): Build fingerprint: 'tmobile/kila/
dream/trout:1.6/DMD64/21415:user/ota-rel-keys,release-keys'
05-07 14:59:20.210: INFO/DEBUG(2965): pid: 3994, tid: 3994 >>>
com.example.LiveStreamer <<<
05-07 14:59:20.210: INFO/DEBUG(2965): signal 11 (SIGSEGV), fault addr
170c8554
05-07 14:59:20.210: INFO/DEBUG(2965): r0 00000000 r1 0000032c r2
170c8534 r3 45114508
05-07 14:59:20.210: INFO/DEBUG(2965): r4 00000003 r5 be91a328 r6
4000c238 r7 00000061
05-07 14:59:20.220: INFO/DEBUG(2965): r8 be91a2f0 r9 4328b2b0 10
4000c238 fp ad083e1c
05-07 14:59:20.220: INFO/DEBUG(2965): ip 4000c1e8 sp be91a2a0 lr
00000003 pc ad01622c cpsr 60000010
05-07 14:59:20.380: INFO/DEBUG(2965): #00 pc 0001622c /
system/lib/libdvm.so
05-07 14:59:20.380: INFO/DEBUG(2965): #01 pc 00016c44 /
system/lib/libdvm.so
05-07 14:59:20.380: INFO/DEBUG(2965): #02 pc 000146f8 /
system/lib/libdvm.so
05-07 14:59:20.390: INFO/DEBUG(2965): #03 pc 00014818 /
system/lib/libdvm.so
05-07 14:59:20.390: INFO/DEBUG(2965): #04 pc 0001492c /
system/lib/libdvm.so
05-07 14:59:20.390: INFO/DEBUG(2965): #05 pc 00016c8c /
system/lib/libdvm.so
05-07 14:59:20.390: INFO/DEBUG(2965): #06 pc 000153e4 /
system/lib/libdvm.so
05-07 14:59:20.400: INFO/DEBUG(2965): #07 pc 0001583c /
system/lib/libdvm.so
05-07 14:59:20.400: INFO/DEBUG(2965): #08 pc 000159a4 /
system/lib/libdvm.so
05-07 14:59:20.400: INFO/DEBUG(2965): #09 pc 0005a90c /
system/lib/libdvm.so
05-07 14:59:20.410: INFO/DEBUG(2965): #10 pc 0005aa2c /
system/lib/libdvm.so
05-07 14:59:20.410: INFO/DEBUG(2965): #11 pc 0005ab2c /
system/lib/libdvm.so
05-07 14:59:20.410: INFO/DEBUG(2965): #12 pc 00012790 /
system/lib/libdvm.so
05-07 14:59:20.410: INFO/DEBUG(2965): #13 pc 00017be4 /
system/lib/libdvm.so
05-07 14:59:20.420: INFO/DEBUG(2965): #14 pc 0001762c /
system/lib/libdvm.so
05-07 14:59:20.420: INFO/DEBUG(2965): #15 pc 000529a8 /
system/lib/libdvm.so
05-07 14:59:20.440: INFO/DEBUG(2965): #16 pc 00059eda /
system/lib/libdvm.so
05-07 14:59:20.440: INFO/DEBUG(2965): #17 pc 00013198 /
system/lib/libdvm.so
05-07 14:59:20.440: INFO/DEBUG(2965): #18 pc 00017be4 /
system/lib/libdvm.so
05-07 14:59:20.440: INFO/DEBUG(2965): #19 pc 0001762c /
system/lib/libdvm.so
05-07 14:59:20.450: INFO/DEBUG(2965): #20 pc 0005282c /
system/lib/libdvm.so
05-07 14:59:20.450: INFO/DEBUG(2965): #21 pc 0003f790 /
system/lib/libdvm.so
05-07 14:59:20.450: INFO/DEBUG(2965): #22 pc 0002be2c /
system/lib/libandroid_runtime.so
05-07 14:59:20.450: INFO/DEBUG(2965): #23 pc 0002c92e /
system/lib/libandroid_runtime.so
05-07 14:59:20.460: INFO/DEBUG(2965): #24 pc 00008bf2 /
system/bin/app_process
05-07 14:59:20.460: INFO/DEBUG(2965): #25 pc 0000bd60 /
system/lib/libc.so
05-07 14:59:20.460: INFO/DEBUG(2965): #26 pc b000163c /
system/bin/linker
05-07 14:59:20.460: INFO/DEBUG(2965): stack:
05-07 14:59:20.470: INFO/DEBUG(2965): be91a260 8041930c /data/
data/com.example.LiveStreamer/lib/libLiveStreamer.so
05-07 14:59:20.470: INFO/DEBUG(2965): be91a264 00000003
05-07 14:59:20.470: INFO/DEBUG(2965): be91a268 be91a264 [stack]
05-07 14:59:20.470: INFO/DEBUG(2965): be91a26c 00000001
05-07 14:59:20.470: INFO/DEBUG(2965): be91a270 8041930c /data/
data/com.example.LiveStreamer/lib/libLiveStreamer.so
05-07 14:59:20.470: INFO/DEBUG(2965): be91a274 00000007
05-07 14:59:20.470: INFO/DEBUG(2965): be91a278 be91a29c [stack]
05-07 14:59:20.470: INFO/DEBUG(2965): be91a27c 0000000e
05-07 14:59:20.470: INFO/DEBUG(2965): be91a280 be91a668 [stack]
05-07 14:59:20.470: INFO/DEBUG(2965): be91a284 be91a29c [stack]
05-07 14:59:20.470: INFO/DEBUG(2965): be91a288 afe43c90
05-07 14:59:20.480: INFO/DEBUG(2965): be91a28c 00000003
05-07 14:59:20.480: INFO/DEBUG(2965): be91a290 8041930c /data/
data/com.example.LiveStreamer/lib/libLiveStreamer.so
05-07 14:59:20.480: INFO/DEBUG(2965): be91a294 afbc12fd /system/
lib/liblog.so
05-07 14:59:20.480: INFO/DEBUG(2965): be91a298 df002777
05-07 14:59:20.480: INFO/DEBUG(2965): be91a29c e3a070ad
05-07 14:59:20.480: INFO/DEBUG(2965): #00 be91a2a0 0000032c
05-07 14:59:20.480: INFO/DEBUG(2965): be91a2a4 170c8534
05-07 14:59:20.480: INFO/DEBUG(2965): be91a2a8 0004000a [heap]
05-07 14:59:20.480: INFO/DEBUG(2965): be91a2ac 0000000e
05-07 14:59:20.490: INFO/DEBUG(2965): be91a2b0 be91a328 [stack]
05-07 14:59:20.490: INFO/DEBUG(2965): be91a2b4 4000c238 /dev/
ashmem/mspace/dalvik-heap/zygote/0 (deleted)
05-07 14:59:20.490: INFO/DEBUG(2965): be91a2b8 00000061
05-07 14:59:20.490: INFO/DEBUG(2965): be91a2bc be91a2f0 [stack]
05-07 14:59:20.490: INFO/DEBUG(2965): be91a2c0 ad016c18 /system/
lib/libdvm.so
05-07 14:59:20.490: INFO/DEBUG(2965): be91a2c4 4000c238 /dev/
ashmem/mspace/dalvik-heap/zygote/0 (deleted)
05-07 14:59:20.490: INFO/DEBUG(2965): be91a2c8 be91a544 [stack]
05-07 14:59:20.490: INFO/DEBUG(2965): be91a2cc ad016c48 /system/
lib/libdvm.so
05-07 14:59:20.490: INFO/DEBUG(2965): #01 be91a2d0 ffff0001
05-07 14:59:20.490: INFO/DEBUG(2965): be91a2d4 00000213
05-07 14:59:20.490: INFO/DEBUG(2965): be91a2d8 00021300 [heap]
05-07 14:59:20.490: INFO/DEBUG(2965): be91a2dc 444f8850 /dev/
ashmem/dalvik-heap-bitmap/mark/0 (deleted)
05-07 14:59:20.500: INFO/DEBUG(2965): be91a2e0 ad083e1c /system/
lib/libdvm.so
05-07 14:59:20.500: INFO/DEBUG(2965): be91a2e4 ad0146fc /system/
lib/libdvm.so
05-07 14:59:22.050: INFO/ActivityManager(82): Process
com.example.LiveStreamer (pid 3994) has died.
05-07 14:59:22.060: INFO/WindowManager(82): WIN DEATH: Window{4317b180
com.example.LiveStreamer/com.example.LiveStreamer.LiveStreamer
paused=false}
05-07 14:59:22.060: INFO/WindowManager(82): WIN DEATH: Window{432ba260
SurfaceView paused=false}
05-07 14:59:22.100: DEBUG/Zygote(50): Process 3994 terminated by
signal (11)
05-07 14:59:22.110: WARN/UsageStats(82): Unexpected resume of
com.android.launcher while already resumed in com.example.LiveStreamer
05-07 14:59:22.150: DEBUG/CameraService(51): stopRecording (pid 51)
05-07 14:59:22.150: DEBUG/CameraService(51): stopRecording(), hardware
stopped OK
05-07 14:59:22.150: INFO/OMXVenc(51): send_command::690 attempt to
move to new state 2
05-07 14:59:22.160: INFO/OMXVenc(51): process_state_change::2452 Req
to Move to Idle: Call venc_stop
05-07 14:59:22.160: INFO/OMXVenc(51): process_DL_status::2610 got DL
status for VENC_CMD_STOP
05-07 14:59:22.160: INFO/OMXVenc(51): process_DL_status::2681 encoder
already moves to idle state. call event handler now
05-07 14:59:22.170: INFO/OMXVenc(51): send_command::690 attempt to
move to new state 1
05-07 14:59:22.180: ERROR/QCOmxcore(51): OMXCORE API : Free Handle
2d6a4
05-07 14:59:22.200: INFO/OMXVenc(51): component_deinit::1912
deinitializing component...
05-07 14:59:22.200: ERROR/QCOmxcore(51): Unloading the dynamic
library for OMX.qcom.video.encoder.mpeg4
05-07 14:59:22.200: DEBUG/CameraService(51): stopPreview (pid 51)
05-07 14:59:22.270: DEBUG/dalvikvm(150): GC freed 4122 objects /
229720 bytes in 1632ms
05-07 14:59:22.300: WARN/InputManagerService(82): Got RemoteException
sending setActive(false) notification to pid 3994 uid 10034
05-07 14:59:22.370: INFO/QualcommCameraHardware(51): deinitPreview E
05-07 14:59:22.370: INFO/QualcommCameraHardware(51): deinitPreview X
05-07 14:59:22.370: DEBUG/CameraService(51): stopPreview(), hardware
stopped OK
05-07 14:59:22.370: DEBUG/CameraService(51): Client::disconnect() E
(pid 51 client 0x3036c)
05-07 14:59:22.370: DEBUG/CameraService(51): hardware teardown
05-07 14:59:22.370: DEBUG/QualcommCameraHardware(51): release E
05-07 14:59:22.370: DEBUG/QualcommCameraHardware(51): release X
05-07 14:59:22.370: DEBUG/CameraService(51): removeClient (pid 51)
done
05-07 14:59:22.370: DEBUG/CameraService(51): Client::disconnect() X
(pid 51)
05-07 14:59:22.370: DEBUG/CameraService(51): Client::~Client E (pid
51, client 0x3036c)
05-07 14:59:22.390: DEBUG/QualcommCameraHardware(51): frame_thread X
05-07 14:59:22.390: DEBUG/QualcommCameraHardware(51):
~QualcommCameraHardware E
05-07 14:59:22.390: DEBUG/QualcommCameraHardware(51):
~QualcommCameraHardware X
05-07 14:59:22.400: DEBUG/CameraService(51): Client::disconnect() E
(pid 51 client 0x3036c)
05-07 14:59:22.400: DEBUG/CameraService(51): Client::~Client X (pid
51)
05-07 14:59:27.520: DEBUG/dalvikvm(373): GC freed 25 objects / 1144
bytes in 103ms
05-07 14:59:32.540: DEBUG/dalvikvm(231): GC freed 169 objects / 11560
bytes in 119ms
05-07 14:59:37.530: DEBUG/dalvikvm(360): GC freed 251 objects / 13248
bytes in 108ms
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en