Mercurial > libavformat.hg
comparison ffmenc.c @ 3440:f9cf53254a61 libavformat
remove ugly ffm_nopts hack, use AVFormatContext->timestamp
author | bcoudurier |
---|---|
date | Mon, 09 Jun 2008 00:24:29 +0000 |
parents | 40995a9455e3 |
children | 2d52ccde8f86 |
comparison
equal
deleted
inserted
replaced
3439:0dfc37ba9453 | 3440:f9cf53254a61 |
---|---|
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
20 */ | 20 */ |
21 | 21 |
22 #include "avformat.h" | 22 #include "avformat.h" |
23 #include "ffm.h" | 23 #include "ffm.h" |
24 | |
25 /* disable pts hack for testing */ | |
26 int ffm_nopts = 0; | |
27 | 24 |
28 static void flush_packet(AVFormatContext *s) | 25 static void flush_packet(AVFormatContext *s) |
29 { | 26 { |
30 FFMContext *ffm = s->priv_data; | 27 FFMContext *ffm = s->priv_data; |
31 int fill_size, h; | 28 int fill_size, h; |
171 default: | 168 default: |
172 return -1; | 169 return -1; |
173 } | 170 } |
174 } | 171 } |
175 | 172 |
176 /* hack to have real time */ | |
177 if (ffm_nopts) | |
178 ffm->start_time = 0; | |
179 else | |
180 ffm->start_time = av_gettime(); | |
181 | |
182 /* flush until end of block reached */ | 173 /* flush until end of block reached */ |
183 while ((url_ftell(pb) % ffm->packet_size) != 0) | 174 while ((url_ftell(pb) % ffm->packet_size) != 0) |
184 put_byte(pb, 0); | 175 put_byte(pb, 0); |
185 | 176 |
186 put_flush_packet(pb); | 177 put_flush_packet(pb); |
201 FFMContext *ffm = s->priv_data; | 192 FFMContext *ffm = s->priv_data; |
202 AVStream *st = s->streams[pkt->stream_index]; | 193 AVStream *st = s->streams[pkt->stream_index]; |
203 int64_t pts; | 194 int64_t pts; |
204 uint8_t header[FRAME_HEADER_SIZE]; | 195 uint8_t header[FRAME_HEADER_SIZE]; |
205 | 196 |
206 pts = ffm->start_time + pkt->pts; | 197 pts = s->timestamp + pkt->pts; |
207 /* packet size & key_frame */ | 198 /* packet size & key_frame */ |
208 header[0] = pkt->stream_index; | 199 header[0] = pkt->stream_index; |
209 header[1] = 0; | 200 header[1] = 0; |
210 if (pkt->flags & PKT_FLAG_KEY) | 201 if (pkt->flags & PKT_FLAG_KEY) |
211 header[1] |= FLAG_KEY_FRAME; | 202 header[1] |= FLAG_KEY_FRAME; |