Verified
Status Update
Comments
ch...@google.com <ch...@google.com>
ch...@google.com <ch...@google.com> #2
Here is what I see.
In AudioRecord.h and in the MediaRecorder.AudioSource, the enum values differ.
In native code (AudioRecord.h), the values are ..
44 enum input_source {
45 DEFAULT_INPUT =-1,
46 MIC_INPUT = 0,
47 VOICE_UPLINK_INPUT = 1,
48 VOICE_DOWNLINK_INPUT = 2,
49 VOICE_CALL_INPUT = 3,
50 NUM_INPUT_SOURCES
51 };
http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=include/media/AudioRecord.h;h=13e51eea1eb478517f677df0642b4d2221571192;hb=donut#l38
In Java MediaRecorder AudioSource, the values are ..
120 public final class AudioSource {
121 /* Do not change these values without updating their counterparts
122 * in include/media/mediarecorder.h!
123 */
124 private AudioSource() {}
125 public static final int DEFAULT = 0;
126 /** Microphone audio source */
127 public static final int MIC = 1;
128
129 /** Voice call uplink (Tx) audio source */
130 public static final int VOICE_UPLINK = 2;
131
132 /** Voice call downlink (Rx) audio source */
133 public static final int VOICE_DOWNLINK = 3;
134
135 /** Voice call uplink + downlink audio source */
136 public static final int VOICE_CALL = 4;
137 }
http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=media/java/android/media/MediaRecorder.java;h=be4b489eb08683750fc2149184ab073e8528e6d4;hb=donut#l120
Now, if you look at AudioFlinger, any input source, whose value of stream type is >=
NUM_INPUT_SOURCES (i.e., 4), we will get an "invalid stream type". Because of the
mismatch of the enums, the Java API sets the value of VOICE_CALL stream type as 4.
So, the check fails and we get the failure.
http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=libs/audioflinger/AudioFlinger.cpp;h=da7cc8a6aa62a9d66097a6d9c7c184d132df7c3d;hb=donut#l2245
Fix:
Set the values of the stream types to be the same in the Java and c++ code.
Hope this helps.
In AudioRecord.h and in the MediaRecorder.AudioSource, the enum values differ.
In native code (AudioRecord.h), the values are ..
44 enum input_source {
45 DEFAULT_INPUT =-1,
46 MIC_INPUT = 0,
47 VOICE_UPLINK_INPUT = 1,
48 VOICE_DOWNLINK_INPUT = 2,
49 VOICE_CALL_INPUT = 3,
50 NUM_INPUT_SOURCES
51 };
In Java MediaRecorder AudioSource, the values are ..
120 public final class AudioSource {
121 /* Do not change these values without updating their counterparts
122 * in include/media/mediarecorder.h!
123 */
124 private AudioSource() {}
125 public static final int DEFAULT = 0;
126 /** Microphone audio source */
127 public static final int MIC = 1;
128
129 /** Voice call uplink (Tx) audio source */
130 public static final int VOICE_UPLINK = 2;
131
132 /** Voice call downlink (Rx) audio source */
133 public static final int VOICE_DOWNLINK = 3;
134
135 /** Voice call uplink + downlink audio source */
136 public static final int VOICE_CALL = 4;
137 }
Now, if you look at AudioFlinger, any input source, whose value of stream type is >=
NUM_INPUT_SOURCES (i.e., 4), we will get an "invalid stream type". Because of the
mismatch of the enums, the Java API sets the value of VOICE_CALL stream type as 4.
So, the check fails and we get the failure.
Fix:
Set the values of the stream types to be the same in the Java and c++ code.
Hope this helps.
ch...@google.com <ch...@google.com> #3
i have Put in Manual Settings for Call Recorder Source as 0,1,2 and 3 All these
Settings only Records Voice Stream from MIC only there is no Such VoiceCall,
VoiceCall Incomming and Outgoing.
I think Google have missed some file to Support it Actual
Settings only Records Voice Stream from MIC only there is no Such VoiceCall,
VoiceCall Incomming and Outgoing.
I think Google have missed some file to Support it Actual
ap...@google.com <ap...@google.com> #4
use vrecorder
ap...@google.com <ap...@google.com> #5
android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK ;
android.media.MediaRecorder.AudioSource.VOICE_UPLINK ;
These two option do not work!
Whatever I set it to VOICE_DOWNLINK,VOICE_UPLINK or VOICE_CALL, the resault is the
same as VOICE_CALL!
Please fix!
Thanks!
android.media.MediaRecorder.AudioSource.VOICE_UPLINK ;
These two option do not work!
Whatever I set it to VOICE_DOWNLINK,VOICE_UPLINK or VOICE_CALL, the resault is the
same as VOICE_CALL!
Please fix!
Thanks!
ap...@google.com <ap...@google.com> #6
I couldn't figure out how to star... But I need to call records because of my
business..
business..
do...@gmail.com <do...@gmail.com> #8
fix it to beat iphone
ap...@google.com <ap...@google.com> #9
LOL! pls fix guys! come on
ap...@google.com <ap...@google.com> #10
The issues related to this bug started over a year ago. Google's inability to fix
this bug presents a great opportunity for competitors to show the inferiority of
Google's support and community help.
this bug presents a great opportunity for competitors to show the inferiority of
Google's support and community help.
ap...@google.com <ap...@google.com> #11
Pls fix. I work in service for homeowners. This would help out for me to remember
appts and also to prove to them they had appointments set. PLSSSSSSS fix!!
appts and also to prove to them they had appointments set. PLSSSSSSS fix!!
ap...@google.com <ap...@google.com> #12
[Comment deleted]
do...@gmail.com <do...@gmail.com> #13
[Comment deleted]
ch...@google.com <ch...@google.com>
an...@google.com <an...@google.com> #14
This is such an important feature. I have been receiving several threats and if this worked then i would be able to get a restraining order, however its broke so i cant. I use a Motorola Droid
an...@google.com <an...@google.com> #15
It doesn't work in Android 2.1.
Description
After upgrading to r8 8.5, our app crashed at runtime. Through binary search, I can confirm that this problem is caused by this .
demo step: