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:
parent
ffd0ccfc3b
commit
cf2986c68f
|
@ -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++;
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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++;
|
||||||
|
|
Loading…
Reference in New Issue