lavf: make av_interleave_packet_per_dts() private.

There is no reason for it to be public, it's only meant to be used
internally.
pull/3/merge
Anton Khirnov 13 years ago
parent 3c90cc2ef2
commit a6733202cc
  1. 18
      libavformat/avformat.h
  2. 2
      libavformat/gxfenc.c
  3. 18
      libavformat/internal.h
  4. 14
      libavformat/utils.c
  5. 3
      libavformat/version.h

@ -1374,23 +1374,15 @@ int av_write_frame(AVFormatContext *s, AVPacket *pkt);
*/ */
int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt); int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt);
#if FF_API_INTERLEAVE_PACKET
/** /**
* Interleave a packet per dts in an output media file. * @deprecated this function was never meant to be called by the user
* * programs.
* Packets with pkt->destruct == av_destruct_packet will be freed inside this
* function, so they cannot be used after it. Note that calling av_free_packet()
* on them is still safe.
*
* @param s media file handle
* @param out the interleaved packet will be output here
* @param pkt the input packet
* @param flush 1 if no further packets are available as input and all
* remaining packets should be output
* @return 1 if a packet was output, 0 if no packet could be output,
* < 0 if an error occurred
*/ */
attribute_deprecated
int av_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out, int av_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
AVPacket *pkt, int flush); AVPacket *pkt, int flush);
#endif
/** /**
* Write the stream trailer to an output media file and free the * Write the stream trailer to an output media file and free the

@ -936,7 +936,7 @@ static int gxf_interleave_packet(AVFormatContext *s, AVPacket *out, AVPacket *pk
if (pkt && s->streams[pkt->stream_index]->codec->codec_type == AVMEDIA_TYPE_VIDEO) if (pkt && s->streams[pkt->stream_index]->codec->codec_type == AVMEDIA_TYPE_VIDEO)
pkt->duration = 2; // enforce 2 fields pkt->duration = 2; // enforce 2 fields
return ff_audio_rechunk_interleave(s, out, pkt, flush, return ff_audio_rechunk_interleave(s, out, pkt, flush,
av_interleave_packet_per_dts, gxf_compare_field_nb); ff_interleave_packet_per_dts, gxf_compare_field_nb);
} }
AVOutputFormat ff_gxf_muxer = { AVOutputFormat ff_gxf_muxer = {

@ -327,4 +327,22 @@ int ff_framehash_write_header(AVFormatContext *s);
*/ */
int ff_read_packet(AVFormatContext *s, AVPacket *pkt); int ff_read_packet(AVFormatContext *s, AVPacket *pkt);
/**
* Interleave a packet per dts in an output media file.
*
* Packets with pkt->destruct == av_destruct_packet will be freed inside this
* function, so they cannot be used after it. Note that calling av_free_packet()
* on them is still safe.
*
* @param s media file handle
* @param out the interleaved packet will be output here
* @param pkt the input packet
* @param flush 1 if no further packets are available as input and all
* remaining packets should be output
* @return 1 if a packet was output, 0 if no packet could be output,
* < 0 if an error occurred
*/
int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
AVPacket *pkt, int flush);
#endif /* AVFORMAT_INTERNAL_H */ #endif /* AVFORMAT_INTERNAL_H */

@ -3068,7 +3068,9 @@ static int ff_interleave_compare_dts(AVFormatContext *s, AVPacket *next, AVPacke
return comp > 0; return comp > 0;
} }
int av_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out, AVPacket *pkt, int flush){ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
AVPacket *pkt, int flush)
{
AVPacketList *pktl; AVPacketList *pktl;
int stream_count=0; int stream_count=0;
int i; int i;
@ -3098,6 +3100,14 @@ int av_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out, AVPacket *pk
} }
} }
#if FF_API_INTERLEAVE_PACKET
int av_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
AVPacket *pkt, int flush)
{
return ff_interleave_packet_per_dts(s, out, pkt, flush);
}
#endif
/** /**
* Interleave an AVPacket correctly so it can be muxed. * Interleave an AVPacket correctly so it can be muxed.
* @param out the interleaved packet will be output here * @param out the interleaved packet will be output here
@ -3114,7 +3124,7 @@ static int interleave_packet(AVFormatContext *s, AVPacket *out, AVPacket *in, in
av_free_packet(in); av_free_packet(in);
return ret; return ret;
} else } else
return av_interleave_packet_per_dts(s, out, in, flush); return ff_interleave_packet_per_dts(s, out, in, flush);
} }
int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt){ int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt){

@ -56,5 +56,8 @@
#ifndef FF_API_READ_PACKET #ifndef FF_API_READ_PACKET
#define FF_API_READ_PACKET (LIBAVFORMAT_VERSION_MAJOR < 55) #define FF_API_READ_PACKET (LIBAVFORMAT_VERSION_MAJOR < 55)
#endif #endif
#ifndef FF_API_INTERLEAVE_PACKET
#define FF_API_INTERLEAVE_PACKET (LIBAVFORMAT_VERSION_MAJOR < 55)
#endif
#endif /* AVFORMAT_VERSION_H */ #endif /* AVFORMAT_VERSION_H */

Loading…
Cancel
Save