You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	shorten: only calculate output size when returning decoded samples, otherwise
just set data_size to zero.
This commit is contained in:
		| @@ -385,6 +385,7 @@ static int shorten_decode_frame(AVCodecContext *avctx, | |||||||
|         int ret; |         int ret; | ||||||
|         if ((ret = read_header(s)) < 0) |         if ((ret = read_header(s)) < 0) | ||||||
|             return ret; |             return ret; | ||||||
|  |         *data_size = 0; | ||||||
|     } |     } | ||||||
|     else |     else | ||||||
|     { |     { | ||||||
| @@ -423,8 +424,9 @@ static int shorten_decode_frame(AVCodecContext *avctx, | |||||||
|                     break; |                     break; | ||||||
|                 } |                 } | ||||||
|                 case FN_QUIT: |                 case FN_QUIT: | ||||||
|                     goto frame_done; |                     break; | ||||||
|             } |             } | ||||||
|  |             *data_size = 0; | ||||||
|         } else { |         } else { | ||||||
|             /* process audio command */ |             /* process audio command */ | ||||||
|             int residual_size = 0; |             int residual_size = 0; | ||||||
| @@ -510,12 +512,12 @@ static int shorten_decode_frame(AVCodecContext *avctx, | |||||||
|             if (s->cur_chan == s->channels) { |             if (s->cur_chan == s->channels) { | ||||||
|                 samples = interleave_buffer(samples, s->channels, s->blocksize, s->decoded); |                 samples = interleave_buffer(samples, s->channels, s->blocksize, s->decoded); | ||||||
|                 s->cur_chan = 0; |                 s->cur_chan = 0; | ||||||
|                 goto frame_done; |                 *data_size = (int8_t *)samples - (int8_t *)data; | ||||||
|  |             } else { | ||||||
|  |                 *data_size = 0; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| frame_done: |  | ||||||
|     *data_size = (int8_t *)samples - (int8_t *)data; |  | ||||||
|  |  | ||||||
|     //    s->last_blocksize = s->blocksize; |     //    s->last_blocksize = s->blocksize; | ||||||
|     s->bitindex = get_bits_count(&s->gb) - 8*((get_bits_count(&s->gb))/8); |     s->bitindex = get_bits_count(&s->gb) - 8*((get_bits_count(&s->gb))/8); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user