comparison ogg.c @ 454:7fa377b2f533 libavformat

export pts if available
author michael
date Tue, 27 Apr 2004 03:35:14 +0000
parents b6949d80b7a9
children b69898ffc92a
comparison
equal deleted inserted replaced
453:a699cf5c703d 454:7fa377b2f533
170 AVCodecContext *codec; 170 AVCodecContext *codec;
171 uint8_t *p; 171 uint8_t *p;
172 int i; 172 int i;
173 173
174 avfcontext->ctx_flags |= AVFMTCTX_NOHEADER; 174 avfcontext->ctx_flags |= AVFMTCTX_NOHEADER;
175 av_set_pts_info(avfcontext, 60, 1, AV_TIME_BASE);
175 176
176 ogg_sync_init(&context->oy) ; 177 ogg_sync_init(&context->oy) ;
177 buf = ogg_sync_buffer(&context->oy, DECODER_BUFFER_SIZE) ; 178 buf = ogg_sync_buffer(&context->oy, DECODER_BUFFER_SIZE) ;
178 179
179 if(get_buffer(&avfcontext->pb, buf, DECODER_BUFFER_SIZE) <= 0) 180 if(get_buffer(&avfcontext->pb, buf, DECODER_BUFFER_SIZE) <= 0)
216 return -EIO ; 217 return -EIO ;
217 if(av_new_packet(pkt, op.bytes) < 0) 218 if(av_new_packet(pkt, op.bytes) < 0)
218 return -EIO ; 219 return -EIO ;
219 pkt->stream_index = 0 ; 220 pkt->stream_index = 0 ;
220 memcpy(pkt->data, op.packet, op.bytes); 221 memcpy(pkt->data, op.packet, op.bytes);
222 if(avfcontext->streams[0]->codec.sample_rate && op.granulepos!=-1)
223 pkt->pts= av_rescale(op.granulepos, AV_TIME_BASE, avfcontext->streams[0]->codec.sample_rate);
224 // printf("%lld %d %d\n", pkt->pts, (int)op.granulepos, avfcontext->streams[0]->codec.sample_rate);
221 225
222 return op.bytes; 226 return op.bytes;
223 } 227 }
224 228
225 229