summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-12-29 20:40:19 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-12-29 20:40:19 +0000
commit6f0e3fb15db6eccab8fdd95c561b28962e750a20 (patch)
tree6b4befed69afafcdf28c36315bf9a8a6f3b59f66 /libmpcodecs
parentf89822df440323a962542686058b48e47968341c (diff)
downloadmpv-6f0e3fb15db6eccab8fdd95c561b28962e750a20.tar.bz2
mpv-6f0e3fb15db6eccab8fdd95c561b28962e750a20.tar.xz
the avi spec does not allow random samplesize whoever wrote this should be shot
also block align should be equal to sample size i dunno if this breaks anything but the old code was definitly not correct this also fixes amr_nb muxing (in .3gp with lavf for example) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21789 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/ae_lavc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libmpcodecs/ae_lavc.c b/libmpcodecs/ae_lavc.c
index 3677aa108b..fd565b4edb 100644
--- a/libmpcodecs/ae_lavc.c
+++ b/libmpcodecs/ae_lavc.c
@@ -56,9 +56,12 @@ static int bind_lavc(audio_encoder_t *encoder, muxer_stream_t *mux_a)
mux_a->h.dwSampleSize = 0; // Blocksize not constant
}
else
- mux_a->h.dwSampleSize = mux_a->h.dwScale;
+ mux_a->h.dwSampleSize = 0;
}
- mux_a->wf->nBlockAlign = mux_a->h.dwScale;
+ if(mux_a->h.dwSampleSize)
+ mux_a->wf->nBlockAlign = mux_a->h.dwSampleSize;
+ else
+ mux_a->wf->nBlockAlign = 1;
mux_a->h.dwSuggestedBufferSize = (encoder->params.audio_preload*mux_a->wf->nAvgBytesPerSec)/1000;
mux_a->h.dwSuggestedBufferSize -= mux_a->h.dwSuggestedBufferSize % mux_a->wf->nBlockAlign;