Question

I have an application streaming video from the device to a remote computer. When trying to set the frame rate I keep getting:

ERROR/StagefrightRecorder(131): Failed to set frame rate to 15 fps. The actual frame rate is 30

The code I use is:

video = new MediaStreamer();        
video.setVideoSource(MediaRecorder.VideoSource.CAMERA);
video.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
video.setVideoFrameRate(frameRate);

Any ideas on how to fix this?

Was it helpful?

Solution

The decoders usually come from the semiconductor vendor like TI, Qualcomm etc. It depends on the decoders whether they honor the call of frame rate modification or not. From the app layer, you cannot do much on this. The calls that you are making are the right ones. If the underlying decoders support it, then you can modify else you cannot.

Vibgyor

OTHER TIPS

I guess documentation says that you may or may not be able to set the frame rate from the application layer. It depends on the underlying decoder whether it gives the app that flexibility or not. I wagely rememeber that I ahve tried setting frame rate to even 3-4 frames but still it gives the default frame rate only. I have seen in the Stagefright framework that it passes the frame rate call to the decoder and then depends on the deocoder to honor the call or not.

Vibgyor

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top