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)