| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -322,6 +322,7 @@ struct eac3_info { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } substream[1]; /* TODO: support 8 independent substreams */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			}; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#if CONFIG_AC3_PARSER | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			static int handle_eac3(MOVMuxContext *mov, AVPacket *pkt, MOVTrack *track) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			{ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    GetBitContext gbc; | 
		
		
	
	
		
			
				| 
				
					
				
				
					
				
				
				 | 
			
			 | 
			@@ -442,6 +443,7 @@ concatenate: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return pkt->size; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#endif | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			static int mov_write_eac3_tag(AVIOContext *pb, MOVTrack *track) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			{ | 
		
		
	
	
		
			
				| 
				
					
				
				
					
				
				
				 | 
			
			 | 
			@@ -4188,13 +4190,15 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } else { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            size = ff_hevc_annexb2mp4(pb, pkt->data, pkt->size, 0, NULL); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } else if (CONFIG_AC3_PARSER && enc->codec_id == AV_CODEC_ID_EAC3) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#if CONFIG_AC3_PARSER | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } else if (enc->codec_id == AV_CODEC_ID_EAC3) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        size = handle_eac3(mov, pkt, trk); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (size < 0) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            return size; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        else if (!size) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            goto end; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        avio_write(pb, pkt->data, size); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#endif | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } else { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        avio_write(pb, pkt->data, size); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |