Mercurial > libavformat.hg
comparison ffmenc.c @ 3488:222810cefa11 libavformat
do not reset ffm pts, this avoids setting last pts to 0 and screwing up seeking
author | bcoudurier |
---|---|
date | Sun, 22 Jun 2008 00:26:25 +0000 |
parents | 90782b5e5ece |
children | e9876fb1c84f |
comparison
equal
deleted
inserted
replaced
3487:2f191d610db9 | 3488:222810cefa11 |
---|---|
45 put_buffer(pb, ffm->packet, ffm->packet_end - ffm->packet); | 45 put_buffer(pb, ffm->packet, ffm->packet_end - ffm->packet); |
46 put_flush_packet(pb); | 46 put_flush_packet(pb); |
47 | 47 |
48 /* prepare next packet */ | 48 /* prepare next packet */ |
49 ffm->frame_offset = 0; /* no key frame */ | 49 ffm->frame_offset = 0; /* no key frame */ |
50 ffm->pts = 0; /* no pts */ | |
51 ffm->packet_ptr = ffm->packet; | 50 ffm->packet_ptr = ffm->packet; |
52 ffm->first_packet = 0; | 51 ffm->first_packet = 0; |
53 } | 52 } |
54 | 53 |
55 /* 'first' is true if first data of a frame */ | 54 /* 'first' is true if first data of a frame */ |
58 int64_t pts, int header) | 57 int64_t pts, int header) |
59 { | 58 { |
60 FFMContext *ffm = s->priv_data; | 59 FFMContext *ffm = s->priv_data; |
61 int len; | 60 int len; |
62 | 61 |
63 if (header && ffm->frame_offset == 0) | 62 if (header && ffm->frame_offset == 0) { |
64 ffm->frame_offset = ffm->packet_ptr - ffm->packet + FFM_HEADER_SIZE; | 63 ffm->frame_offset = ffm->packet_ptr - ffm->packet + FFM_HEADER_SIZE; |
65 if (header && ffm->pts == 0) | |
66 ffm->pts = pts; | 64 ffm->pts = pts; |
65 } | |
67 | 66 |
68 /* write as many packets as needed */ | 67 /* write as many packets as needed */ |
69 while (size > 0) { | 68 while (size > 0) { |
70 len = ffm->packet_end - ffm->packet_ptr; | 69 len = ffm->packet_end - ffm->packet_ptr; |
71 if (len > size) | 70 if (len > size) |