* qatar/master: Fix parser: mark av_parser_parse() for removal on next major bump swscale: postpone sws_getContext removal until next major bump. fate: add AAC LATM test mmst: get rid of deprecated AVERRORs lxfdec: use AVERROR(ENOMEM) instead of deprecated AVERROR_NOMEM. Reemove remaining uses of deprecated AVERROR_NOTSUPP. REIMPLEMENTED in 2 lines of code: lavf: if id3v2 tag is present and all else fails, guess by file extension Conflicts: libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>tags/n0.8
| @@ -105,7 +105,7 @@ void ff_fetch_timestamp(AVCodecParserContext *s, int off, int remove){ | |||||
| } | } | ||||
| } | } | ||||
| #if LIBAVCODEC_VERSION_MINOR < 53 | |||||
| #if LIBAVCODEC_VERSION_MAJOR < 53 | |||||
| /** | /** | ||||
| * | * | ||||
| * @param buf input | * @param buf input | ||||
| @@ -181,7 +181,7 @@ static int applehttp_open(URLContext *h, const char *uri, int flags) | |||||
| const char *nested_url; | const char *nested_url; | ||||
| if (flags & (URL_WRONLY | URL_RDWR)) | if (flags & (URL_WRONLY | URL_RDWR)) | ||||
| return AVERROR_NOTSUPP; | |||||
| return AVERROR(ENOSYS); | |||||
| s = av_mallocz(sizeof(AppleHTTPContext)); | s = av_mallocz(sizeof(AppleHTTPContext)); | ||||
| if (!s) | if (!s) | ||||
| @@ -168,7 +168,7 @@ static int read_seek2(AVFormatContext *s, int stream_index, | |||||
| ASSContext *ass = s->priv_data; | ASSContext *ass = s->priv_data; | ||||
| if (flags & AVSEEK_FLAG_BYTE) { | if (flags & AVSEEK_FLAG_BYTE) { | ||||
| return AVERROR_NOTSUPP; | |||||
| return AVERROR(ENOSYS); | |||||
| } else if (flags & AVSEEK_FLAG_FRAME) { | } else if (flags & AVSEEK_FLAG_FRAME) { | ||||
| if (ts < 0 || ts >= ass->event_count) | if (ts < 0 || ts >= ass->event_count) | ||||
| return AVERROR(ERANGE); | return AVERROR(ERANGE); | ||||
| @@ -192,7 +192,7 @@ static int read_seek(AVFormatContext *s, int stream_index, | |||||
| int i; | int i; | ||||
| if (flags & (AVSEEK_FLAG_BYTE|AVSEEK_FLAG_FRAME)) | if (flags & (AVSEEK_FLAG_BYTE|AVSEEK_FLAG_FRAME)) | ||||
| return AVERROR_NOTSUPP; | |||||
| return AVERROR(ENOSYS); | |||||
| switch(stream_index) { | switch(stream_index) { | ||||
| case 0: | case 0: | ||||
| @@ -218,7 +218,7 @@ static int lxf_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| return ret < 0 ? ret : AVERROR_EOF; | return ret < 0 ? ret : AVERROR_EOF; | ||||
| if (!(st = av_new_stream(s, 0))) | if (!(st = av_new_stream(s, 0))) | ||||
| return AVERROR_NOMEM; | |||||
| return AVERROR(ENOMEM); | |||||
| st->duration = AV_RL32(&header_data[32]); | st->duration = AV_RL32(&header_data[32]); | ||||
| video_params = AV_RL32(&header_data[40]); | video_params = AV_RL32(&header_data[40]); | ||||
| @@ -244,7 +244,7 @@ static int lxf_read_header(AVFormatContext *s, AVFormatParameters *ap) | |||||
| if ((lxf->channels = (disk_params >> 2) & 0xF)) { | if ((lxf->channels = (disk_params >> 2) & 0xF)) { | ||||
| if (!(st = av_new_stream(s, 1))) | if (!(st = av_new_stream(s, 1))) | ||||
| return AVERROR_NOMEM; | |||||
| return AVERROR(ENOMEM); | |||||
| st->codec->codec_type = AVMEDIA_TYPE_AUDIO; | st->codec->codec_type = AVMEDIA_TYPE_AUDIO; | ||||
| st->codec->sample_rate = LXF_SAMPLERATE; | st->codec->sample_rate = LXF_SAMPLERATE; | ||||
| @@ -146,7 +146,7 @@ static int send_command_packet(MMSTContext *mmst) | |||||
| exact_length, write_result, | exact_length, write_result, | ||||
| write_result < 0 ? strerror(write_result) : | write_result < 0 ? strerror(write_result) : | ||||
| "The server closed the connection"); | "The server closed the connection"); | ||||
| return AVERROR_IO; | |||||
| return AVERROR(EIO); | |||||
| } | } | ||||
| return 0; | return 0; | ||||
| @@ -268,7 +268,7 @@ static MMSSCPacketType get_tcp_server_response(MMSTContext *mmst) | |||||
| read_result, | read_result, | ||||
| read_result < 0 ? strerror(read_result) : | read_result < 0 ? strerror(read_result) : | ||||
| "The server closed the connection"); | "The server closed the connection"); | ||||
| return read_result < 0 ? read_result : AVERROR_IO; | |||||
| return read_result < 0 ? read_result : AVERROR(EIO); | |||||
| } | } | ||||
| length_remaining= AV_RL32(mms->in_buffer+8) + 4; | length_remaining= AV_RL32(mms->in_buffer+8) + 4; | ||||
| @@ -289,13 +289,13 @@ static MMSSCPacketType get_tcp_server_response(MMSTContext *mmst) | |||||
| length_remaining, read_result, | length_remaining, read_result, | ||||
| read_result < 0 ? strerror(read_result) : | read_result < 0 ? strerror(read_result) : | ||||
| "The server closed the connection"); | "The server closed the connection"); | ||||
| return read_result < 0 ? read_result : AVERROR_IO; | |||||
| return read_result < 0 ? read_result : AVERROR(EIO); | |||||
| } | } | ||||
| packet_type= AV_RL16(mms->in_buffer+36); | packet_type= AV_RL16(mms->in_buffer+36); | ||||
| if (read_result >= 44 && (hr = AV_RL32(mms->in_buffer + 40))) { | if (read_result >= 44 && (hr = AV_RL32(mms->in_buffer + 40))) { | ||||
| av_log(NULL, AV_LOG_ERROR, | av_log(NULL, AV_LOG_ERROR, | ||||
| "Server sent a message with packet type 0x%x and error status code 0x%08x\n", packet_type, hr); | "Server sent a message with packet type 0x%x and error status code 0x%08x\n", packet_type, hr); | ||||
| return AVERROR_UNKNOWN; | |||||
| return AVERROR(EINVAL); | |||||
| } | } | ||||
| } else { | } else { | ||||
| int length_remaining; | int length_remaining; | ||||
| @@ -326,7 +326,7 @@ static MMSSCPacketType get_tcp_server_response(MMSTContext *mmst) | |||||
| length_remaining, read_result, | length_remaining, read_result, | ||||
| read_result < 0 ? strerror(read_result) : | read_result < 0 ? strerror(read_result) : | ||||
| "The server closed the connection"); | "The server closed the connection"); | ||||
| return read_result < 0 ? read_result : AVERROR_IO; | |||||
| return read_result < 0 ? read_result : AVERROR(EIO); | |||||
| } | } | ||||
| // if we successfully read everything. | // if we successfully read everything. | ||||
| @@ -550,7 +550,7 @@ static int mms_open(URLContext *h, const char *uri, int flags) | |||||
| if((mmst->incoming_flags != 0X08) && (mmst->incoming_flags != 0X0C)) { | if((mmst->incoming_flags != 0X08) && (mmst->incoming_flags != 0X0C)) { | ||||
| av_log(NULL, AV_LOG_ERROR, | av_log(NULL, AV_LOG_ERROR, | ||||
| "The server does not support MMST (try MMSH or RTSP)\n"); | "The server does not support MMST (try MMSH or RTSP)\n"); | ||||
| err = AVERROR_NOFMT; | |||||
| err = AVERROR(EINVAL); | |||||
| goto fail; | goto fail; | ||||
| } | } | ||||
| err = ff_mms_asf_header_parser(mms); | err = ff_mms_asf_header_parser(mms); | ||||
| @@ -604,7 +604,7 @@ static int mms_read(URLContext *h, uint8_t *buf, int size) | |||||
| av_log(NULL, AV_LOG_ERROR, | av_log(NULL, AV_LOG_ERROR, | ||||
| "Incoming pktlen %d is larger than ASF pktsize %d\n", | "Incoming pktlen %d is larger than ASF pktsize %d\n", | ||||
| mms->remaining_in_len, mms->asf_packet_len); | mms->remaining_in_len, mms->asf_packet_len); | ||||
| result= AVERROR_IO; | |||||
| result= AVERROR(EIO); | |||||
| } else { | } else { | ||||
| // copy the data to the packet buffer. | // copy the data to the packet buffer. | ||||
| result = ff_mms_read_data(mms, buf, size); | result = ff_mms_read_data(mms, buf, size); | ||||
| @@ -98,7 +98,7 @@ static int qt_rtp_parse_packet(AVFormatContext *s, PayloadContext *qt, | |||||
| if (!is_start || !is_finish) { | if (!is_start || !is_finish) { | ||||
| av_log_missing_feature(s, "RTP-X-QT with payload description " | av_log_missing_feature(s, "RTP-X-QT with payload description " | ||||
| "split over several packets", 1); | "split over several packets", 1); | ||||
| return AVERROR_NOTSUPP; | |||||
| return AVERROR(ENOSYS); | |||||
| } | } | ||||
| skip_bits(&gb, 12); // reserved | skip_bits(&gb, 12); // reserved | ||||
| data_len = get_bits(&gb, 16); | data_len = get_bits(&gb, 16); | ||||
| @@ -161,7 +161,7 @@ static int qt_rtp_parse_packet(AVFormatContext *s, PayloadContext *qt, | |||||
| if (has_packet_info) { | if (has_packet_info) { | ||||
| av_log_missing_feature(s, "RTP-X-QT with packet specific info", 1); | av_log_missing_feature(s, "RTP-X-QT with packet specific info", 1); | ||||
| return AVERROR_NOTSUPP; | |||||
| return AVERROR(ENOSYS); | |||||
| } | } | ||||
| alen = len - avio_tell(&pb); | alen = len - avio_tell(&pb); | ||||
| @@ -224,7 +224,7 @@ static int qt_rtp_parse_packet(AVFormatContext *s, PayloadContext *qt, | |||||
| default: /* unimplemented */ | default: /* unimplemented */ | ||||
| av_log_missing_feature(NULL, "RTP-X-QT with packing scheme 2", 1); | av_log_missing_feature(NULL, "RTP-X-QT with packing scheme 2", 1); | ||||
| return AVERROR_NOTSUPP; | |||||
| return AVERROR(ENOSYS); | |||||
| } | } | ||||
| } | } | ||||
| @@ -389,6 +389,8 @@ AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened, int *score | |||||
| score = 0; | score = 0; | ||||
| if (fmt1->read_probe) { | if (fmt1->read_probe) { | ||||
| score = fmt1->read_probe(&lpd); | score = fmt1->read_probe(&lpd); | ||||
| if(!score && fmt1->extensions && av_match_ext(lpd.filename, fmt1->extensions)) | |||||
| score = 1; | |||||
| } else if (fmt1->extensions) { | } else if (fmt1->extensions) { | ||||
| if (av_match_ext(lpd.filename, fmt1->extensions)) { | if (av_match_ext(lpd.filename, fmt1->extensions)) { | ||||
| score = 50; | score = 50; | ||||
| @@ -1061,7 +1061,7 @@ static int read_seek(AVFormatContext *s, int stream_index, | |||||
| int i; | int i; | ||||
| if ((flags & AVSEEK_FLAG_FRAME) || (flags & AVSEEK_FLAG_BYTE)) | if ((flags & AVSEEK_FLAG_FRAME) || (flags & AVSEEK_FLAG_BYTE)) | ||||
| return AVERROR_NOTSUPP; | |||||
| return AVERROR(ENOSYS); | |||||
| /* timestamp adjustment is required because wtv->pts values are absolute, | /* timestamp adjustment is required because wtv->pts values are absolute, | ||||
| * whereas AVIndexEntry->timestamp values are relative to epoch. */ | * whereas AVIndexEntry->timestamp values are relative to epoch. */ | ||||
| @@ -48,7 +48,7 @@ | |||||
| * They may change, break or disappear at any time. | * They may change, break or disappear at any time. | ||||
| */ | */ | ||||
| #ifndef FF_API_SWS_GETCONTEXT | #ifndef FF_API_SWS_GETCONTEXT | ||||
| #define FF_API_SWS_GETCONTEXT (LIBSWSCALE_VERSION_MAJOR < 1) | |||||
| #define FF_API_SWS_GETCONTEXT (LIBSWSCALE_VERSION_MAJOR < 2) | |||||
| #endif | #endif | ||||
| /** | /** | ||||
| @@ -185,9 +185,9 @@ void sws_freeContext(struct SwsContext *swsContext); | |||||
| * @param dstFormat the destination image format | * @param dstFormat the destination image format | ||||
| * @param flags specify which algorithm and options to use for rescaling | * @param flags specify which algorithm and options to use for rescaling | ||||
| * @return a pointer to an allocated context, or NULL in case of error | * @return a pointer to an allocated context, or NULL in case of error | ||||
| * @deprecated use sws_alloc_context() and sws_init_context() | |||||
| * @note this function is to be removed after a saner alternative is | |||||
| * written | |||||
| */ | */ | ||||
| attribute_deprecated | |||||
| struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, | struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, | ||||
| int dstW, int dstH, enum PixelFormat dstFormat, | int dstW, int dstH, enum PixelFormat dstFormat, | ||||
| int flags, SwsFilter *srcFilter, | int flags, SwsFilter *srcFilter, | ||||
| @@ -18,6 +18,10 @@ FATE_AAC += fate-aac-al_sbr_ps_06_ur | |||||
| fate-aac-al_sbr_ps_06_ur: CMD = pcm -i $(SAMPLES)/aac/al_sbr_ps_06_new.mp4 | fate-aac-al_sbr_ps_06_ur: CMD = pcm -i $(SAMPLES)/aac/al_sbr_ps_06_new.mp4 | ||||
| fate-aac-al_sbr_ps_06_ur: REF = $(SAMPLES)/aac/al_sbr_ps_06_ur.s16 | fate-aac-al_sbr_ps_06_ur: REF = $(SAMPLES)/aac/al_sbr_ps_06_ur.s16 | ||||
| FATE_AAC += fate-aac-latm_000000001180bc60 | |||||
| fate-aac-latm_000000001180bc60: CMD = pcm -i $(SAMPLES)/aac/latm_000000001180bc60.mpg | |||||
| fate-aac-latm_000000001180bc60: REF = $(SAMPLES)/aac/latm_000000001180bc60.s16 | |||||
| FATE_TESTS += $(FATE_AAC) | FATE_TESTS += $(FATE_AAC) | ||||
| fate-aac: $(FATE_AAC) | fate-aac: $(FATE_AAC) | ||||
| $(FATE_AAC): CMP = oneoff | $(FATE_AAC): CMP = oneoff | ||||