mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 20:42:49 +08:00 
			
		
		
		
	avcodec/aac_ac3_parser: don't fill stream info in the sync function
Have it only find frame boundaries. The stream props will then be filled once we have an assembled frame. Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
		| @@ -215,8 +215,7 @@ int av_ac3_parse_header(const uint8_t *buf, size_t size, | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| static int ac3_sync(uint64_t state, AACAC3ParseContext *hdr_info, | ||||
|         int *need_next_header, int *new_frame_start) | ||||
| static int ac3_sync(uint64_t state, int *need_next_header, int *new_frame_start) | ||||
| { | ||||
|     int err; | ||||
|     union { | ||||
| @@ -238,19 +237,6 @@ static int ac3_sync(uint64_t state, AACAC3ParseContext *hdr_info, | ||||
|     if(err < 0) | ||||
|         return 0; | ||||
|  | ||||
|     hdr_info->sample_rate = hdr.sample_rate; | ||||
|     hdr_info->bit_rate = hdr.bit_rate; | ||||
|     hdr_info->channels = hdr.channels; | ||||
|     hdr_info->channel_layout = hdr.channel_layout; | ||||
|     hdr_info->samples = hdr.num_blocks * 256; | ||||
|     hdr_info->service_type = hdr.bitstream_mode; | ||||
|     if (hdr.bitstream_mode == 0x7 && hdr.channels > 1) | ||||
|         hdr_info->service_type = AV_AUDIO_SERVICE_TYPE_KARAOKE; | ||||
|     if(hdr.bitstream_id>10) | ||||
|         hdr_info->codec_id = AV_CODEC_ID_EAC3; | ||||
|     else if (hdr_info->codec_id == AV_CODEC_ID_NONE) | ||||
|         hdr_info->codec_id = AV_CODEC_ID_AC3; | ||||
|  | ||||
|     *new_frame_start  = (hdr.frame_type != EAC3_FRAME_TYPE_DEPENDENT); | ||||
|     *need_next_header = *new_frame_start || (hdr.frame_type != EAC3_FRAME_TYPE_AC3_CONVERT); | ||||
|     return hdr.frame_size; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 James Almer
					James Almer