Lines Matching refs:qt
43 PayloadContext *qt)
45 qt->pkt = av_packet_alloc();
46 if (!qt->pkt)
52 static int qt_rtp_parse_packet(AVFormatContext *s, PayloadContext *qt,
64 if (qt->remaining) {
65 int num = qt->pkt->size / qt->bytes_per_frame;
67 if ((ret = av_new_packet(pkt, qt->bytes_per_frame)) < 0)
70 pkt->flags = qt->pkt->flags;
72 &qt->pkt->data[(num - qt->remaining) * qt->bytes_per_frame],
73 qt->bytes_per_frame);
74 if (--qt->remaining == 0) {
75 av_freep(&qt->pkt->data);
76 qt->pkt->size = 0;
78 return qt->remaining > 0;
158 qt->bytes_per_frame = msc->bytes_per_frame;
187 if (qt->pkt->size > 0 && qt->timestamp == *timestamp) {
189 if ((err = av_reallocp(&qt->pkt->data, qt->pkt->size + alen +
191 qt->pkt->size = 0;
195 av_freep(&qt->pkt->data);
196 av_packet_unref(qt->pkt);
197 qt->pkt->data = av_realloc(NULL, alen + AV_INPUT_BUFFER_PADDING_SIZE);
198 if (!qt->pkt->data)
200 qt->pkt->size = 0;
201 qt->timestamp = *timestamp;
203 memcpy(qt->pkt->data + qt->pkt->size, buf + avio_tell(pb), alen);
204 qt->pkt->size += alen;
206 int ret = av_packet_from_data(pkt, qt->pkt->data, qt->pkt->size);
210 qt->pkt->size = 0;
211 qt->pkt->data = NULL;
220 if (qt->bytes_per_frame == 0 ||
221 alen % qt->bytes_per_frame != 0)
223 qt->remaining = (alen / qt->bytes_per_frame) - 1;
224 if ((ret = av_new_packet(pkt, qt->bytes_per_frame)) < 0)
226 memcpy(pkt->data, buf + avio_tell(pb), qt->bytes_per_frame);
229 if (qt->remaining > 0) {
230 av_freep(&qt->pkt->data);
231 qt->pkt->data = av_realloc(NULL, qt->remaining * qt->bytes_per_frame);
232 if (!qt->pkt->data) {
236 qt->pkt->size = qt->remaining * qt->bytes_per_frame;
237 memcpy(qt->pkt->data,
238 buf + avio_tell(pb) + qt->bytes_per_frame,
239 qt->remaining * qt->bytes_per_frame);
240 qt->pkt->flags = pkt->flags;
251 static void qt_rtp_close(PayloadContext *qt)
253 av_freep(&qt->pkt->data);
254 av_packet_free(&qt->pkt);
268 RTP_QT_HANDLER(qt, vid, "X-QT", AVMEDIA_TYPE_VIDEO);
269 RTP_QT_HANDLER(qt, aud, "X-QT", AVMEDIA_TYPE_AUDIO);