mirror of
				https://github.com/owntone/owntone-server.git
				synced 2025-10-29 15:55:02 -04:00 
			
		
		
		
	Adjust for libav 10 API
With libav 10 the API is (again...) changed, adjust for that and add the appropriate version conditions
This commit is contained in:
		
							parent
							
								
									bdfb726c65
								
							
						
					
					
						commit
						7997377deb
					
				| @ -211,6 +211,24 @@ artwork_rescale(AVFormatContext *src_ctx, int s, int out_w, int out_h, int forma | ||||
|       goto out_close_src; | ||||
|     } | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|   dst_fmt->video_codec = AV_CODEC_ID_NONE; | ||||
| 
 | ||||
|   /* Try to keep same codec if possible */ | ||||
|   if ((src->codec_id == AV_CODEC_ID_PNG) && (format & ART_CAN_PNG)) | ||||
|     dst_fmt->video_codec = AV_CODEC_ID_PNG; | ||||
|   else if ((src->codec_id == AV_CODEC_ID_MJPEG) && (format & ART_CAN_JPEG)) | ||||
|     dst_fmt->video_codec = AV_CODEC_ID_MJPEG; | ||||
| 
 | ||||
|   /* If not possible, select new codec */ | ||||
|   if (dst_fmt->video_codec == AV_CODEC_ID_NONE) | ||||
|     { | ||||
|       if (format & ART_CAN_PNG) | ||||
| 	dst_fmt->video_codec = AV_CODEC_ID_PNG; | ||||
|       else if (format & ART_CAN_JPEG) | ||||
| 	dst_fmt->video_codec = AV_CODEC_ID_MJPEG; | ||||
|     } | ||||
| #else | ||||
|   dst_fmt->video_codec = CODEC_ID_NONE; | ||||
| 
 | ||||
|   /* Try to keep same codec if possible */ | ||||
| @ -227,6 +245,7 @@ artwork_rescale(AVFormatContext *src_ctx, int s, int out_w, int out_h, int forma | ||||
|       else if (format & ART_CAN_JPEG) | ||||
| 	dst_fmt->video_codec = CODEC_ID_MJPEG; | ||||
|     } | ||||
| #endif | ||||
| 
 | ||||
|   img_encoder = avcodec_find_encoder(dst_fmt->video_codec); | ||||
|   if (!img_encoder) | ||||
| @ -353,8 +372,13 @@ artwork_rescale(AVFormatContext *src_ctx, int s, int out_w, int out_h, int forma | ||||
|       goto out_free_dst_ctx; | ||||
|     } | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 56 || (LIBAVCODEC_VERSION_MAJOR == 55 && LIBAVCODEC_VERSION_MINOR >= 29) | ||||
|   i_frame = av_frame_alloc(); | ||||
|   o_frame = av_frame_alloc(); | ||||
| #else | ||||
|   i_frame = avcodec_alloc_frame(); | ||||
|   o_frame = avcodec_alloc_frame(); | ||||
| #endif | ||||
| 
 | ||||
|   if (!i_frame || !o_frame) | ||||
|     { | ||||
| @ -533,11 +557,19 @@ artwork_rescale(AVFormatContext *src_ctx, int s, int out_w, int out_h, int forma | ||||
| 
 | ||||
|   switch (dst_fmt->video_codec) | ||||
|     { | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_PNG: | ||||
| #else | ||||
|       case CODEC_ID_PNG: | ||||
| #endif | ||||
| 	ret = ART_FMT_PNG; | ||||
| 	break; | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_MJPEG: | ||||
| #else | ||||
|       case CODEC_ID_MJPEG: | ||||
| #endif | ||||
| 	ret = ART_FMT_JPEG; | ||||
| 	break; | ||||
| 
 | ||||
| @ -559,10 +591,22 @@ artwork_rescale(AVFormatContext *src_ctx, int s, int out_w, int out_h, int forma | ||||
|   av_free(buf); | ||||
| 
 | ||||
|  out_free_frames: | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 56 || (LIBAVCODEC_VERSION_MAJOR == 55 && LIBAVCODEC_VERSION_MINOR >= 29) | ||||
|   if (i_frame) | ||||
|     av_frame_free(&i_frame); | ||||
|   if (o_frame) | ||||
|     av_frame_free(&o_frame); | ||||
| #elif LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|   if (i_frame) | ||||
|     avcodec_free_frame(&i_frame); | ||||
|   if (o_frame) | ||||
|     avcodec_free_frame(&o_frame); | ||||
| #else | ||||
|   if (i_frame) | ||||
|     av_free(i_frame); | ||||
|   if (o_frame) | ||||
|     av_free(o_frame); | ||||
| #endif | ||||
|   avcodec_close(dst); | ||||
| 
 | ||||
|  out_free_dst_ctx: | ||||
| @ -620,12 +664,20 @@ artwork_get(char *filename, int max_w, int max_h, int format, struct evbuffer *e | ||||
|   format_ok = 0; | ||||
|   for (s = 0; s < src_ctx->nb_streams; s++) | ||||
|     { | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       if (src_ctx->streams[s]->codec->codec_id == AV_CODEC_ID_PNG) | ||||
| #else | ||||
|       if (src_ctx->streams[s]->codec->codec_id == CODEC_ID_PNG) | ||||
| #endif | ||||
| 	{ | ||||
| 	  format_ok = (format & ART_CAN_PNG) ? ART_FMT_PNG : 0; | ||||
| 	  break; | ||||
| 	} | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       else if (src_ctx->streams[s]->codec->codec_id == AV_CODEC_ID_MJPEG) | ||||
| #else | ||||
|       else if (src_ctx->streams[s]->codec->codec_id == CODEC_ID_MJPEG) | ||||
| #endif | ||||
| 	{ | ||||
| 	  format_ok = (format & ART_CAN_JPEG) ? ART_FMT_JPEG : 0; | ||||
| 	  break; | ||||
| @ -713,12 +765,20 @@ artwork_get_embedded_image(char *filename, int max_w, int max_h, int format, str | ||||
|     { | ||||
|       if (src_ctx->streams[s]->disposition & AV_DISPOSITION_ATTACHED_PIC) | ||||
| 	{ | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
| 	  if (src_ctx->streams[s]->codec->codec_id == AV_CODEC_ID_PNG) | ||||
| #else | ||||
| 	  if (src_ctx->streams[s]->codec->codec_id == CODEC_ID_PNG) | ||||
| #endif | ||||
| 	    { | ||||
| 	      format_ok = (format & ART_CAN_PNG) ? ART_FMT_PNG : 0; | ||||
| 	      break; | ||||
| 	    } | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
| 	  else if (src_ctx->streams[s]->codec->codec_id == AV_CODEC_ID_MJPEG) | ||||
| #else | ||||
| 	  else if (src_ctx->streams[s]->codec->codec_id == CODEC_ID_MJPEG) | ||||
| #endif | ||||
| 	    { | ||||
| 	      format_ok = (format & ART_CAN_JPEG) ? ART_FMT_JPEG : 0; | ||||
| 	      break; | ||||
| @ -1030,8 +1090,10 @@ artwork_get_group(int id, int max_w, int max_h, int format, struct evbuffer *evb | ||||
|   struct db_media_file_info dbmfi; | ||||
|   char *dir; | ||||
|   int got_art; | ||||
|   int artwork_t; | ||||
|   int ret; | ||||
| #if LIBAVFORMAT_VERSION_MAJOR >= 55 || (LIBAVFORMAT_VERSION_MAJOR == 54 && LIBAVFORMAT_VERSION_MINOR >= 6) | ||||
|   int artwork_t; | ||||
| #endif | ||||
| 
 | ||||
|   DPRINTF(E_DBG, L_ART, "Artwork request for group %d\n", id); | ||||
| 
 | ||||
|  | ||||
| @ -376,11 +376,19 @@ scan_metadata_ffmpeg(char *file, struct media_file_info *mfi) | ||||
|   DPRINTF(E_DBG, L_SCAN, "File has %d streams\n", ctx->nb_streams); | ||||
| 
 | ||||
|   /* Extract codec IDs, check for video */ | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|   video_codec_id = AV_CODEC_ID_NONE; | ||||
|   video_stream = NULL; | ||||
| 
 | ||||
|   audio_codec_id = AV_CODEC_ID_NONE; | ||||
|   audio_stream = NULL; | ||||
| #else | ||||
|   video_codec_id = CODEC_ID_NONE; | ||||
|   video_stream = NULL; | ||||
| 
 | ||||
|   audio_codec_id = CODEC_ID_NONE; | ||||
|   audio_stream = NULL; | ||||
| #endif | ||||
| 
 | ||||
|   for (i = 0; i < ctx->nb_streams; i++) | ||||
|     { | ||||
| @ -427,7 +435,11 @@ scan_metadata_ffmpeg(char *file, struct media_file_info *mfi) | ||||
| 	} | ||||
|     } | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|   if (audio_codec_id == AV_CODEC_ID_NONE) | ||||
| #else | ||||
|   if (audio_codec_id == CODEC_ID_NONE) | ||||
| #endif | ||||
|     { | ||||
|       DPRINTF(E_DBG, L_SCAN, "File has no audio streams, discarding\n"); | ||||
| 
 | ||||
| @ -478,21 +490,33 @@ scan_metadata_ffmpeg(char *file, struct media_file_info *mfi) | ||||
|   codec_id = (mfi->has_video) ? video_codec_id : audio_codec_id; | ||||
|   switch (codec_id) | ||||
|     { | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_AAC: | ||||
| #else | ||||
|       case CODEC_ID_AAC: | ||||
| #endif | ||||
| 	DPRINTF(E_DBG, L_SCAN, "AAC\n"); | ||||
| 	mfi->type = strdup("m4a"); | ||||
| 	mfi->codectype = strdup("mp4a"); | ||||
| 	mfi->description = strdup("AAC audio file"); | ||||
| 	break; | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_ALAC: | ||||
| #else | ||||
|       case CODEC_ID_ALAC: | ||||
| #endif | ||||
| 	DPRINTF(E_DBG, L_SCAN, "ALAC\n"); | ||||
| 	mfi->type = strdup("m4a"); | ||||
| 	mfi->codectype = strdup("alac"); | ||||
| 	mfi->description = strdup("Apple Lossless audio file"); | ||||
| 	break; | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_FLAC: | ||||
| #else | ||||
|       case CODEC_ID_FLAC: | ||||
| #endif | ||||
| 	DPRINTF(E_DBG, L_SCAN, "FLAC\n"); | ||||
| 	mfi->type = strdup("flac"); | ||||
| 	mfi->codectype = strdup("flac"); | ||||
| @ -501,16 +525,26 @@ scan_metadata_ffmpeg(char *file, struct media_file_info *mfi) | ||||
| 	extra_md_map = md_map_vorbis; | ||||
| 	break; | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_MUSEPACK7: | ||||
|       case AV_CODEC_ID_MUSEPACK8: | ||||
| #else | ||||
|       case CODEC_ID_MUSEPACK7: | ||||
|       case CODEC_ID_MUSEPACK8: | ||||
| #endif | ||||
| 	DPRINTF(E_DBG, L_SCAN, "Musepack\n"); | ||||
| 	mfi->type = strdup("mpc"); | ||||
| 	mfi->codectype = strdup("mpc"); | ||||
| 	mfi->description = strdup("Musepack audio file"); | ||||
| 	break; | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_MPEG4: /* Video */ | ||||
|       case AV_CODEC_ID_H264: | ||||
| #else | ||||
|       case CODEC_ID_MPEG4: /* Video */ | ||||
|       case CODEC_ID_H264: | ||||
| #endif | ||||
| 	DPRINTF(E_DBG, L_SCAN, "MPEG4 video\n"); | ||||
| 	mfi->type = strdup("m4v"); | ||||
| 	mfi->codectype = strdup("mp4v"); | ||||
| @ -519,7 +553,11 @@ scan_metadata_ffmpeg(char *file, struct media_file_info *mfi) | ||||
| 	extra_md_map = md_map_tv; | ||||
| 	break; | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_MP3: | ||||
| #else | ||||
|       case CODEC_ID_MP3: | ||||
| #endif | ||||
| 	DPRINTF(E_DBG, L_SCAN, "MP3\n"); | ||||
| 	mfi->type = strdup("mp3"); | ||||
| 	mfi->codectype = strdup("mpeg"); | ||||
| @ -528,7 +566,11 @@ scan_metadata_ffmpeg(char *file, struct media_file_info *mfi) | ||||
| 	extra_md_map = md_map_id3; | ||||
| 	break; | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_VORBIS: | ||||
| #else | ||||
|       case CODEC_ID_VORBIS: | ||||
| #endif | ||||
| 	DPRINTF(E_DBG, L_SCAN, "VORBIS\n"); | ||||
| 	mfi->type = strdup("ogg"); | ||||
| 	mfi->codectype = strdup("ogg"); | ||||
| @ -537,30 +579,48 @@ scan_metadata_ffmpeg(char *file, struct media_file_info *mfi) | ||||
| 	extra_md_map = md_map_vorbis; | ||||
| 	break; | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_WMAV1: | ||||
|       case AV_CODEC_ID_WMAV2: | ||||
|       case AV_CODEC_ID_WMAVOICE: | ||||
| #else | ||||
|       case CODEC_ID_WMAV1: | ||||
|       case CODEC_ID_WMAV2: | ||||
|       case CODEC_ID_WMAVOICE: | ||||
| #endif | ||||
| 	DPRINTF(E_DBG, L_SCAN, "WMA Voice\n"); | ||||
| 	mfi->type = strdup("wma"); | ||||
| 	mfi->codectype = strdup("wmav"); | ||||
| 	mfi->description = strdup("WMA audio file"); | ||||
| 	break; | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_WMAPRO: | ||||
| #else | ||||
|       case CODEC_ID_WMAPRO: | ||||
| #endif | ||||
| 	DPRINTF(E_DBG, L_SCAN, "WMA Pro\n"); | ||||
| 	mfi->type = strdup("wmap"); | ||||
| 	mfi->codectype = strdup("wma"); | ||||
| 	mfi->description = strdup("WMA audio file"); | ||||
| 	break; | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_WMALOSSLESS: | ||||
| #else | ||||
|       case CODEC_ID_WMALOSSLESS: | ||||
| #endif | ||||
| 	DPRINTF(E_DBG, L_SCAN, "WMA Lossless\n"); | ||||
| 	mfi->type = strdup("wma"); | ||||
| 	mfi->codectype = strdup("wmal"); | ||||
| 	mfi->description = strdup("WMA audio file"); | ||||
| 	break; | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|       case AV_CODEC_ID_PCM_S16LE ... AV_CODEC_ID_PCM_F64LE: | ||||
| #else | ||||
|       case CODEC_ID_PCM_S16LE ... CODEC_ID_PCM_F64LE: | ||||
| #endif | ||||
| 	if (strcmp(ctx->iformat->name, "aiff") == 0) | ||||
| 	  { | ||||
| 	    DPRINTF(E_DBG, L_SCAN, "AIFF\n"); | ||||
| @ -637,6 +697,7 @@ scan_metadata_ffmpeg(char *file, struct media_file_info *mfi) | ||||
|  skip_extract: | ||||
|   if (mdcount == 0) | ||||
|     { | ||||
| #if LIBAVFORMAT_VERSION_MAJOR < 53 || (LIBAVFORMAT_VERSION_MAJOR == 53 && LIBAVFORMAT_VERSION_MINOR < 21) | ||||
|       /* ffmpeg doesn't support FLAC nor Musepack metadata,
 | ||||
|        * and is buggy for some WMA variants, so fall back to the | ||||
|        * legacy format-specific parsers until it gets fixed */ | ||||
| @ -645,24 +706,14 @@ scan_metadata_ffmpeg(char *file, struct media_file_info *mfi) | ||||
| 	  || (codec_id == CODEC_ID_WMALOSSLESS)) | ||||
| 	{ | ||||
| 	  DPRINTF(E_WARN, L_SCAN, "Falling back to legacy WMA scanner\n"); | ||||
| 
 | ||||
| #if LIBAVFORMAT_VERSION_MAJOR >= 54 || (LIBAVFORMAT_VERSION_MAJOR == 53 && LIBAVFORMAT_VERSION_MINOR >= 21) | ||||
| 	  avformat_close_input(&ctx); | ||||
| #else | ||||
| 	  av_close_input_file(ctx); | ||||
| #endif | ||||
| 	  return (scan_get_wmainfo(file, mfi) ? 0 : -1); | ||||
| 	} | ||||
| #ifdef FLAC | ||||
|       else if (codec_id == CODEC_ID_FLAC) | ||||
| 	{ | ||||
| 	  DPRINTF(E_WARN, L_SCAN, "Falling back to legacy FLAC scanner\n"); | ||||
| 
 | ||||
| #if LIBAVFORMAT_VERSION_MAJOR >= 54 || (LIBAVFORMAT_VERSION_MAJOR == 53 && LIBAVFORMAT_VERSION_MINOR >= 21) | ||||
| 	  avformat_close_input(&ctx); | ||||
| #else | ||||
| 	  av_close_input_file(ctx); | ||||
| #endif | ||||
| 	  return (scan_get_flacinfo(file, mfi) ? 0 : -1); | ||||
| 	} | ||||
| #endif /* FLAC */ | ||||
| @ -671,16 +722,12 @@ scan_metadata_ffmpeg(char *file, struct media_file_info *mfi) | ||||
| 	       || (codec_id == CODEC_ID_MUSEPACK8)) | ||||
| 	{ | ||||
| 	  DPRINTF(E_WARN, L_SCAN, "Falling back to legacy Musepack scanner\n"); | ||||
| 
 | ||||
| #if LIBAVFORMAT_VERSION_MAJOR >= 54 || (LIBAVFORMAT_VERSION_MAJOR == 53 && LIBAVFORMAT_VERSION_MINOR >= 21) | ||||
| 	  avformat_close_input(&ctx); | ||||
| #else | ||||
| 	  av_close_input_file(ctx); | ||||
| #endif | ||||
| 	  return (scan_get_mpcinfo(file, mfi) ? 0 : -1); | ||||
| 	} | ||||
| #endif /* MUSEPACK */ | ||||
|       else | ||||
| #endif /* LIBAVFORMAT */ | ||||
| 	DPRINTF(E_WARN, L_SCAN, "ffmpeg/libav could not extract any metadata\n"); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -184,7 +184,26 @@ transcode(struct transcode_ctx *ctx, struct evbuffer *evbuf, int wanted) | ||||
|       /* Decode data */ | ||||
|       while (ctx->apacket2.size > 0) | ||||
| 	{ | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 54 || (LIBAVCODEC_VERSION_MAJOR == 53 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 56 || (LIBAVCODEC_VERSION_MAJOR == 55 && LIBAVCODEC_VERSION_MINOR >= 29) | ||||
| 	  got_frame = 0; | ||||
| 
 | ||||
| 	  if (!frame) | ||||
| 	    { | ||||
| 	      frame = av_frame_alloc(); | ||||
| 	      if (!frame) | ||||
| 		{ | ||||
| 		  DPRINTF(E_LOG, L_XCODE, "Out of memory for decoded frame\n"); | ||||
| 
 | ||||
| 		  return -1; | ||||
| 		} | ||||
| 	    } | ||||
| 	  else | ||||
|             av_frame_unref(frame); | ||||
| 
 | ||||
| 	  used = avcodec_decode_audio4(ctx->acodec, | ||||
| 				       frame, &got_frame, | ||||
| 				       &ctx->apacket2); | ||||
| #elif LIBAVCODEC_VERSION_MAJOR >= 54 || (LIBAVCODEC_VERSION_MAJOR == 53 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
| 	  got_frame = 0; | ||||
| 
 | ||||
| 	  if (!frame) | ||||
| @ -200,7 +219,6 @@ transcode(struct transcode_ctx *ctx, struct evbuffer *evbuf, int wanted) | ||||
| 	  else | ||||
|             avcodec_get_frame_defaults(frame); | ||||
| 
 | ||||
| 
 | ||||
| 	  used = avcodec_decode_audio4(ctx->acodec, | ||||
| 				       frame, &got_frame, | ||||
| 				       &ctx->apacket2); | ||||
| @ -343,10 +361,13 @@ transcode(struct transcode_ctx *ctx, struct evbuffer *evbuf, int wanted) | ||||
| 
 | ||||
|   ctx->offset += processed; | ||||
| 
 | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
| #if LIBAVCODEC_VERSION_MAJOR >= 56 || (LIBAVCODEC_VERSION_MAJOR == 55 && LIBAVCODEC_VERSION_MINOR >= 29) | ||||
|   if (frame) | ||||
|     av_frame_free(&frame); | ||||
| #elif LIBAVCODEC_VERSION_MAJOR >= 55 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
|   if (frame) | ||||
|     avcodec_free_frame(&frame); | ||||
| #elif LIBAVCODEC_VERSION_MAJOR >= 54 || (LIBAVCODEC_VERSION_MAJOR == 53 && LIBAVCODEC_VERSION_MINOR >= 35) | ||||
| #else | ||||
|   if (frame) | ||||
|     av_free(frame); | ||||
| #endif | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user