]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/internal.h
os_support: Choose between direct.h and io.h using a configure check
[ffmpeg] / libavformat / internal.h
index ad300325cbdd68f5a245188e2c0f360fe82456e3..16475800d9ab80c0fe5cb12881299449de15eb04 100644 (file)
 #endif
 
 typedef struct AVCodecTag {
-    enum CodecID id;
+    enum AVCodecID id;
     unsigned int tag;
 } AVCodecTag;
 
 typedef struct CodecMime{
     char str[32];
-    enum CodecID id;
+    enum AVCodecID id;
 } CodecMime;
 
 void ff_dynarray_add(intptr_t **tab_ptr, int *nb_ptr, intptr_t elem);
@@ -251,7 +251,7 @@ void ff_reduce_index(AVFormatContext *s, int stream_index);
 void ff_make_absolute_url(char *buf, int size, const char *base,
                           const char *rel);
 
-enum CodecID ff_guess_image2_codec(const char *filename);
+enum AVCodecID ff_guess_image2_codec(const char *filename);
 
 /**
  * Convert a date string in ISO8601 format to Unix timestamp.
@@ -327,4 +327,22 @@ int ff_framehash_write_header(AVFormatContext *s);
  */
 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 */