average bitrate for mp4's

git-svn-id: https://svn.musicpd.org/mpd/trunk@325 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes 2004-03-20 14:27:35 +00:00
parent ffd0ccfc3b
commit cf2986c68f
3 changed files with 5 additions and 2 deletions

View File

@ -409,7 +409,7 @@ int mp3ChildSendData(mp3DecodeData * data, Buffer * cb, DecoderControl * dc) {
#endif #endif
memcpy(cb->chunks+cb->end*CHUNK_SIZE,data->outputBuffer,CHUNK_SIZE); memcpy(cb->chunks+cb->end*CHUNK_SIZE,data->outputBuffer,CHUNK_SIZE);
cb->chunkSize[cb->end] = data->outputPtr-data->outputBuffer; cb->chunkSize[cb->end] = data->outputPtr-data->outputBuffer;
cb->bitRate[cb->end] = data->bitRate/1000; cb->bitRate[cb->end] = data->bitRate/1024;
cb->times[cb->end] = data->elapsedTime; cb->times[cb->end] = data->elapsedTime;
cb->end++; cb->end++;

View File

@ -98,6 +98,7 @@ int mp4_decode(Buffer * cb, AudioFormat * af, DecoderControl * dc) {
long seekTableEnd = -1; long seekTableEnd = -1;
int seekPositionFound = 0; int seekPositionFound = 0;
long offset; long offset;
mpd_uint16 bitRate;
fh = fopen(dc->file,"r"); fh = fopen(dc->file,"r");
if(!fh) { if(!fh) {
@ -155,6 +156,7 @@ int mp4_decode(Buffer * cb, AudioFormat * af, DecoderControl * dc) {
af->sampleRate = sampleRate; af->sampleRate = sampleRate;
af->channels = channels; af->channels = channels;
time = mp4ff_get_track_duration_use_offsets(mp4fh,track); time = mp4ff_get_track_duration_use_offsets(mp4fh,track);
bitRate = mp4ff_get_avg_bitrate(mp4fh,track);
scale = mp4ff_time_scale(mp4fh,track); scale = mp4ff_time_scale(mp4fh,track);
if(mp4Buffer) free(mp4Buffer); if(mp4Buffer) free(mp4Buffer);
@ -260,6 +262,7 @@ int mp4_decode(Buffer * cb, AudioFormat * af, DecoderControl * dc) {
memcpy(cb->chunks+cb->end*CHUNK_SIZE+chunkLen, memcpy(cb->chunks+cb->end*CHUNK_SIZE+chunkLen,
sampleBuffer,size); sampleBuffer,size);
cb->times[cb->end] = time; cb->times[cb->end] = time;
cb->bitRate[cb->end] = bitRate/1024;
sampleBuffer+=size; sampleBuffer+=size;
chunkLen+=size; chunkLen+=size;
if(chunkLen>=CHUNK_SIZE) { if(chunkLen>=CHUNK_SIZE) {

View File

@ -122,7 +122,7 @@ int ogg_decode(Buffer * cb, AudioFormat * af, DecoderControl * dc)
chunkpos = 0; chunkpos = 0;
cb->times[cb->end] = ov_time_tell(&vf); cb->times[cb->end] = ov_time_tell(&vf);
if((test = ov_bitrate_instant(&vf))>0) { if((test = ov_bitrate_instant(&vf))>0) {
bitRate = test/1000; bitRate = test/1024;
} }
cb->bitRate[cb->end] = bitRate; cb->bitRate[cb->end] = bitRate;
cb->end++; cb->end++;