aac: Only output configure if audio was found.
Audio found is not triggered on a CCE because a CCE alone has no output.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit d8425ed4af)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
			
			
This commit is contained in:
		
				
					committed by
					
						
						Anton Khirnov
					
				
			
			
				
	
			
			
			
						parent
						
							303e48e6a2
						
					
				
				
					commit
					5925e25218
				
			@@ -2074,7 +2074,7 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
 | 
			
		||||
    ChannelElement *che = NULL, *che_prev = NULL;
 | 
			
		||||
    enum RawDataBlockType elem_type, elem_type_prev = TYPE_END;
 | 
			
		||||
    int err, elem_id, data_size_tmp;
 | 
			
		||||
    int samples = 0, multiplier;
 | 
			
		||||
    int samples = 0, multiplier, audio_found = 0;
 | 
			
		||||
 | 
			
		||||
    if (show_bits(gb, 12) == 0xfff) {
 | 
			
		||||
        if (parse_adts_frame_header(ac, gb) < 0) {
 | 
			
		||||
@@ -2105,10 +2105,12 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
 | 
			
		||||
 | 
			
		||||
        case TYPE_SCE:
 | 
			
		||||
            err = decode_ics(ac, &che->ch[0], gb, 0, 0);
 | 
			
		||||
            audio_found = 1;
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case TYPE_CPE:
 | 
			
		||||
            err = decode_cpe(ac, gb, che);
 | 
			
		||||
            audio_found = 1;
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case TYPE_CCE:
 | 
			
		||||
@@ -2117,6 +2119,7 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
 | 
			
		||||
 | 
			
		||||
        case TYPE_LFE:
 | 
			
		||||
            err = decode_ics(ac, &che->ch[0], gb, 0, 0);
 | 
			
		||||
            audio_found = 1;
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case TYPE_DSE:
 | 
			
		||||
@@ -2193,7 +2196,7 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
 | 
			
		||||
                                                   samples, avctx->channels);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (ac->output_configured)
 | 
			
		||||
    if (ac->output_configured && audio_found)
 | 
			
		||||
        ac->output_configured = OC_LOCKED;
 | 
			
		||||
 | 
			
		||||
    return 0;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user