Mercurial > libavformat.hg
annotate internal.h @ 6085:72c7c3d5c4e9 libavformat
matroskaenc: Mux clusters better
Start them on keyframes when reasonable, and delay writing audio packets
to help ensure that there's audio samples available for the first frame in
clusters.
Patch by James Zern <jzern at google>
author | conrad |
---|---|
date | Fri, 04 Jun 2010 22:40:50 +0000 |
parents | c7b98381ec2d |
children | 3877522243ec |
rev | line source |
---|---|
3788
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
1 /* |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
2 * copyright (c) 2001 Fabrice Bellard |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
3 * |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
4 * This file is part of FFmpeg. |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
5 * |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
6 * FFmpeg is free software; you can redistribute it and/or |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
7 * modify it under the terms of the GNU Lesser General Public |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
8 * License as published by the Free Software Foundation; either |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
9 * version 2.1 of the License, or (at your option) any later version. |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
10 * |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
11 * FFmpeg is distributed in the hope that it will be useful, |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
14 * Lesser General Public License for more details. |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
15 * |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
16 * You should have received a copy of the GNU Lesser General Public |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
17 * License along with FFmpeg; if not, write to the Free Software |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
19 */ |
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
20 |
3852 | 21 #ifndef AVFORMAT_INTERNAL_H |
22 #define AVFORMAT_INTERNAL_H | |
3788
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
23 |
3981
ff78dd8e198a
Fix 'make checkheaders', based on a patch by Diego Petten, flameeyes gmail com.
diego
parents:
3852
diff
changeset
|
24 #include <stdint.h> |
4059
59db9e761b38
Move declaration of av_set_program_name and av_program_add_stream_index
diego
parents:
3981
diff
changeset
|
25 #include "avformat.h" |
3981
ff78dd8e198a
Fix 'make checkheaders', based on a patch by Diego Petten, flameeyes gmail com.
diego
parents:
3852
diff
changeset
|
26 |
6033 | 27 typedef struct AVCodecTag { |
28 enum CodecID id; | |
29 unsigned int tag; | |
30 } AVCodecTag; | |
31 | |
5946
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
32 void ff_dynarray_add(intptr_t **tab_ptr, int *nb_ptr, intptr_t elem); |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
33 |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
34 #ifdef __GNUC__ |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
35 #define dynarray_add(tab, nb_ptr, elem)\ |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
36 do {\ |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
37 __typeof__(tab) _tab = (tab);\ |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
38 __typeof__(elem) _elem = (elem);\ |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
39 (void)sizeof(**_tab == _elem); /* check that types are compatible */\ |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
40 ff_dynarray_add((intptr_t **)_tab, nb_ptr, (intptr_t)_elem);\ |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
41 } while(0) |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
42 #else |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
43 #define dynarray_add(tab, nb_ptr, elem)\ |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
44 do {\ |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
45 ff_dynarray_add((intptr_t **)(tab), nb_ptr, (intptr_t)(elem));\ |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
46 } while(0) |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
47 #endif |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
48 |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
49 time_t mktimegm(struct tm *tm); |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
50 struct tm *brktimegm(time_t secs, struct tm *tm); |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
51 const char *small_strptime(const char *p, const char *fmt, |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
52 struct tm *dt); |
28ca2d77f997
Move the internal function declarations in avformat.h to internal.h.
stefano
parents:
5883
diff
changeset
|
53 |
5883 | 54 char *ff_data_to_hex(char *buf, const uint8_t *src, int size, int lowercase); |
3788
ca6df1ecb412
Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
rbultje
parents:
diff
changeset
|
55 |
5852
36b46032fad5
rename av_program_add_stream_index to ff_program_add_stream_index
aurel
parents:
5841
diff
changeset
|
56 void ff_program_add_stream_index(AVFormatContext *ac, int progid, unsigned int idx); |
4059
59db9e761b38
Move declaration of av_set_program_name and av_program_add_stream_index
diego
parents:
3981
diff
changeset
|
57 |
4418
d5119d75439d
Move declaration of ff_interleave_add_packet to internal.h.
bcoudurier
parents:
4059
diff
changeset
|
58 /** |
d5119d75439d
Move declaration of ff_interleave_add_packet to internal.h.
bcoudurier
parents:
4059
diff
changeset
|
59 * Add packet to AVFormatContext->packet_buffer list, determining its |
d5119d75439d
Move declaration of ff_interleave_add_packet to internal.h.
bcoudurier
parents:
4059
diff
changeset
|
60 * interleaved position using compare() function argument. |
d5119d75439d
Move declaration of ff_interleave_add_packet to internal.h.
bcoudurier
parents:
4059
diff
changeset
|
61 */ |
d5119d75439d
Move declaration of ff_interleave_add_packet to internal.h.
bcoudurier
parents:
4059
diff
changeset
|
62 void ff_interleave_add_packet(AVFormatContext *s, AVPacket *pkt, |
d5119d75439d
Move declaration of ff_interleave_add_packet to internal.h.
bcoudurier
parents:
4059
diff
changeset
|
63 int (*compare)(AVFormatContext *, AVPacket *, AVPacket *)); |
d5119d75439d
Move declaration of ff_interleave_add_packet to internal.h.
bcoudurier
parents:
4059
diff
changeset
|
64 |
5853 | 65 void ff_read_frame_flush(AVFormatContext *s); |
5761
058a0e362dbe
Move av_read_frame_flush() prototype to lavf/internal.h
mru
parents:
4428
diff
changeset
|
66 |
5841 | 67 #define NTP_OFFSET 2208988800ULL |
68 #define NTP_OFFSET_US (NTP_OFFSET * 1000000ULL) | |
69 | |
5807
f4ca0041b4f4
Make the ntp_time function available to other parts of libavformat, as ff_ntp_time
mstorsjo
parents:
5774
diff
changeset
|
70 /** Gets the current time since NTP epoch in microseconds. */ |
f4ca0041b4f4
Make the ntp_time function available to other parts of libavformat, as ff_ntp_time
mstorsjo
parents:
5774
diff
changeset
|
71 uint64_t ff_ntp_time(void); |
f4ca0041b4f4
Make the ntp_time function available to other parts of libavformat, as ff_ntp_time
mstorsjo
parents:
5774
diff
changeset
|
72 |
5836
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
73 /** |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
74 * Probes a bytestream to determine the input format. Each time a probe returns |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
75 * with a score that is too low, the probe buffer size is increased and another |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
76 * attempt is made. When the maximum probe size is reached, the input format |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
77 * with the highest score is returned. |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
78 * |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
79 * @param pb the bytestream to probe, it may be closed and opened again |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
80 * @param fmt the input format is put here |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
81 * @param filename the filename of the stream |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
82 * @param logctx the log context |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
83 * @param offset the offset within the bytestream to probe from |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
84 * @param max_probe_size the maximum probe buffer size (zero for default) |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
85 * @return 0 in case of success, a negative value corresponding to an |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
86 * AVERROR code otherwise |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
87 */ |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
88 int ff_probe_input_buffer(ByteIOContext **pb, AVInputFormat **fmt, |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
89 const char *filename, void *logctx, |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
90 unsigned int offset, unsigned int max_probe_size); |
2997c88028cd
Move the probe loop from av_open_input_file() into its own method
stefano
parents:
5807
diff
changeset
|
91 |
5837
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
92 /** |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
93 * Splits a URL string into components. To reassemble components back into |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
94 * a URL, use ff_url_join instead of using snprintf directly. |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
95 * |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
96 * The pointers to buffers for storing individual components may be null, |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
97 * in order to ignore that component. Buffers for components not found are |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
98 * set to empty strings. If the port isn't found, it is set to a negative |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
99 * value. |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
100 * |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
101 * @see ff_url_join |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
102 * |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
103 * @param proto the buffer for the protocol |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
104 * @param proto_size the size of the proto buffer |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
105 * @param authorization the buffer for the authorization |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
106 * @param authorization_size the size of the authorization buffer |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
107 * @param hostname the buffer for the host name |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
108 * @param hostname_size the size of the hostname buffer |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
109 * @param port_ptr a pointer to store the port number in |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
110 * @param path the buffer for the path |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
111 * @param path_size the size of the path buffer |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
112 * @param url the URL to split |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
113 */ |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
114 void ff_url_split(char *proto, int proto_size, |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
115 char *authorization, int authorization_size, |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
116 char *hostname, int hostname_size, |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
117 int *port_ptr, |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
118 char *path, int path_size, |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
119 const char *url); |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
120 |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
121 /** |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
122 * Assembles a URL string from components. This is the reverse operation |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
123 * of ff_url_split. |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
124 * |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
125 * Note, this requires networking to be initialized, so the caller must |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
126 * ensure ff_network_init has been called. |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
127 * |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
128 * @see ff_url_split |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
129 * |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
130 * @param str the buffer to fill with the url |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
131 * @param size the size of the str buffer |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
132 * @param proto the protocol identifier, if null, the separator |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
133 * after the identifier is left out, too |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
134 * @param authorization an optional authorization string, may be null |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
135 * @param hostname the host name string |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
136 * @param port the port number, left out from the string if negative |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
137 * @param fmt a generic format string for everything to add after the |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
138 * host/port, may be null |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
139 * @return the number of characters written to the destination buffer |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
140 */ |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
141 int ff_url_join(char *str, int size, const char *proto, |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
142 const char *authorization, const char *hostname, |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
143 int port, const char *fmt, ...); |
d605f589f0be
move ff_url_split() and ff_url_join() declarations to internal.h
aurel
parents:
5836
diff
changeset
|
144 |
6009 | 145 /** |
146 * Appends the media-specific SDP fragment for the media stream c | |
147 * to the buffer buff. | |
148 * | |
149 * Note, the buffer needs to be initialized, since it is appended to | |
150 * existing content. | |
151 * | |
152 * @param buff the buffer to append the SDP fragment to | |
153 * @param size the size of the buff buffer | |
154 * @param c the AVCodecContext of the media to describe | |
155 * @param dest_addr the destination address of the media stream, may be NULL | |
156 * @param port the destination port of the media stream, 0 if unknown | |
157 * @param ttl the time to live of the stream, 0 if not multicast | |
158 */ | |
159 void ff_sdp_write_media(char *buff, int size, AVCodecContext *c, | |
160 const char *dest_addr, int port, int ttl); | |
161 | |
6024
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
162 /** |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
163 * Write a packet to another muxer than the one the user originally |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
164 * intended. Useful when chaining muxers, where one muxer internally |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
165 * writes a received packet to another muxer. |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
166 * |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
167 * @param dst the muxer to write the packet to |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
168 * @param dst_stream the stream index within dst to write the packet to |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
169 * @param pkt the packet to be written |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
170 * @param src the muxer the packet originally was intended for |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
171 * @return the value av_write_frame returned |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
172 */ |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
173 int ff_write_chained(AVFormatContext *dst, int dst_stream, AVPacket *pkt, |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
174 AVFormatContext *src); |
ee42a04b24f2
Add a libavformat internal function ff_write_chained
mstorsjo
parents:
6009
diff
changeset
|
175 |
3852 | 176 #endif /* AVFORMAT_INTERNAL_H */ |