summaryrefslogtreecommitdiffstats
path: root/main/lame/lame-3.98.2-ffmpeg-0.5.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/lame/lame-3.98.2-ffmpeg-0.5.patch')
-rw-r--r--main/lame/lame-3.98.2-ffmpeg-0.5.patch86
1 files changed, 0 insertions, 86 deletions
diff --git a/main/lame/lame-3.98.2-ffmpeg-0.5.patch b/main/lame/lame-3.98.2-ffmpeg-0.5.patch
deleted file mode 100644
index 30528c7db..000000000
--- a/main/lame/lame-3.98.2-ffmpeg-0.5.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-diff -NrU5 lame-398-2.orig/libmp3lame/lame.c lame-398-2/libmp3lame/lame.c
---- lame-398-2.orig/libmp3lame/lame.c 2009-05-03 15:16:40.000000000 +0200
-+++ lame-398-2/libmp3lame/lame.c 2009-05-03 15:24:49.000000000 +0200
-@@ -1600,10 +1600,17 @@
- in_buffer[1] += n_in;
-
- /* update mfbuf[] counters */
- gfc->mf_size += n_out;
- assert(gfc->mf_size <= MFSIZE);
-+
-+ /* lame_encode_flush may have set gfc->mf_sample_to_encode to 0
-+ * so we have to reinitialize it here when that happened.
-+ */
-+ if (gfc->mf_samples_to_encode < 1) {
-+ gfc->mf_samples_to_encode = ENCDELAY + POSTDELAY;
-+ }
- gfc->mf_samples_to_encode += n_out;
-
-
- if (gfc->mf_size >= mf_needed) {
- /* encode the frame. */
-@@ -1929,10 +1936,14 @@
- int end_padding = POSTDELAY;
- int pad_out_samples;
- int frames_left;
- int samples_to_encode = gfc->mf_samples_to_encode;
-
-+ /* Was flush already called? */
-+ if (gfc->mf_samples_to_encode < 1) {
-+ return 0;
-+ }
- memset(buffer, 0, sizeof(buffer));
- mp3count = 0;
-
- if (gfp->in_samplerate != gfp->out_samplerate) {
- /* delay due to resampling; needs to be fixed, if resampling code gets changed */
-@@ -1940,35 +1951,38 @@
- }
- pad_out_samples = gfp->framesize - (samples_to_encode % gfp->framesize);
- end_padding += pad_out_samples;
-
- frames_left = (samples_to_encode + pad_out_samples) / gfp->framesize;
-- while (frames_left > 0) {
-+
-+ /* send in a frame of 0 padding until all internal sample buffers are flushed */
-+ while (frames_left > 0 && imp3 >= 0) {
- int frame_num = gfp->frameNum;
-
- mp3buffer_size_remaining = mp3buffer_size - mp3count;
-
- /* if user specifed buffer size = 0, dont check size */
- if (mp3buffer_size == 0)
- mp3buffer_size_remaining = 0;
-
-- /* send in a frame of 0 padding until all internal sample buffers
-- * are flushed
-- */
- imp3 = lame_encode_buffer(gfp, buffer[0], buffer[1], 32,
- mp3buffer, mp3buffer_size_remaining);
-
-- if (frame_num != gfp->frameNum) {
-- --frames_left;
-- }
-- if (imp3 < 0) {
-- /* some type of fatal error */
-- return imp3;
-- }
- mp3buffer += imp3;
- mp3count += imp3;
-+ frames_left -= (frame_num != gfp->frameNum) ? 1 : 0;
- }
-+ /* Set gfc->mf_samples_to_encode to 0, so we may detect
-+ * and break loops calling it more than once in a row.
-+ */
-+ gfc->mf_samples_to_encode = 0;
-+
-+ if (imp3 < 0) {
-+ /* some type of fatal error */
-+ return imp3;
-+ }
-+
- mp3buffer_size_remaining = mp3buffer_size - mp3count;
- /* if user specifed buffer size = 0, dont check size */
- if (mp3buffer_size == 0)
- mp3buffer_size_remaining = 0;
-