Hi DaneLLL,
Thanks for the reply. I have changed the bitrate to 2Mbps. But still I am getting the same results.
This is how, I am checking and printing the bitrate(size).
// get output
size_t index;
size_t offset;
size_t size;
int64_t presentationTimeUs;
uint32_t flags;
status_t err = mCodec->dequeueOutputBuffer(
&index, &offset, &size, &presentationTimeUs, &flags,
kTimeout);
if (err == OK) {
ALOGE("draining output buffer %d, time = %lld us Size = %d ",
index, presentationTimeUs,size);
if (mNumBuffersEncoded == 0) {
int64_t timeUs = ALooper::GetNowUs();
fprintf(stderr, "enc latency = %llu us", timeUs - startTimeUs);
}
I am expecting the output of dequeue buffer (i.e) size to be same all the time. But In some cases I am getting different size. Please see the below output.
E/AEncode ( 1412): draining output buffer 0, time = 0 us Size = 22
E/AEncode ( 1412): draining output buffer 1, time = 0 us Size = <b>2728</b>
E/AEncode ( 1412): draining output buffer 2, time = 33333 us Size = 4097
E/AEncode ( 1412): draining output buffer 3, time = 66666 us Size = 4098
E/AEncode ( 1412): draining output buffer 4, time = 100000 us Size = 4093
E/AEncode ( 1412): draining output buffer 5, time = 133333 us Size = 4096
E/AEncode ( 1412): draining output buffer 0, time = 166666 us Size = 4096
E/AEncode ( 1412): draining output buffer 1, time = 200000 us Size = 4096
E/AEncode ( 1412): draining output buffer 2, time = 233333 us Size = 4096
E/AEncode ( 1412): draining output buffer 3, time = 266666 us Size = 4096
E/AEncode ( 1412): draining output buffer 4, time = 300000 us Size = 4096
E/AEncode ( 1412): draining output buffer 5, time = 333333 us Size = 4095
E/AEncode ( 1412): draining output buffer 0, time = 366666 us Size = 4097
E/AEncode ( 1412): draining output buffer 1, time = 400000 us Size = 4097
E/AEncode ( 1412): draining output buffer 2, time = 433333 us Size = 4090
E/AEncode ( 1412): draining output buffer 3, time = 466666 us Size = 4097
E/AEncode ( 1412): draining output buffer 4, time = 500000 us Size = 4097
E/AEncode ( 1412): draining output buffer 5, time = 533333 us Size = 4097
E/AEncode ( 1412): draining output buffer 0, time = 566666 us Size = 4097
E/AEncode ( 1412): draining output buffer 1, time = 600000 us Size = 4097
E/AEncode ( 1412): draining output buffer 2, time = 633333 us Size = 4097
E/AEncode ( 1412): draining output buffer 3, time = 666666 us Size = 4097
E/AEncode ( 1412): draining output buffer 4, time = 700000 us Size = 4097
E/AEncode ( 1412): draining output buffer 5, time = 733333 us Size = 4097
E/AEncode ( 1412): draining output buffer 0, time = 766666 us Size = 4097
E/AEncode ( 1412): draining output buffer 1, time = 800000 us Size = 4097
E/AEncode ( 1412): draining output buffer 2, time = 833333 us Size = 4097
E/AEncode ( 1412): draining output buffer 3, time = 866666 us Size = 4097
E/AEncode ( 1412): draining output buffer 4, time = 900000 us Size = <b>4141</b>
So can you please say, why I am not getting constant bit rate here?