| 661 | } |
| 662 | |
| 663 | static int request_frame(AVFilterLink *outlink) |
| 664 | { |
| 665 | AVFilterContext *ctx = (AVFilterContext *)outlink->src; |
| 666 | QREncodeContext *qr = ctx->priv; |
| 667 | AVFrame *frame = |
| 668 | ff_get_video_buffer(outlink, qr->rendered_padded_qrcode_width, qr->rendered_padded_qrcode_width); |
| 669 | int ret; |
| 670 | |
| 671 | if (!frame) |
| 672 | return AVERROR(ENOMEM); |
| 673 | frame->sample_aspect_ratio = (AVRational) {1, 1}; |
| 674 | V(n) = frame->pts = qr->pts++; |
| 675 | V(t) = qr->pts * av_q2d(outlink->time_base); |
| 676 | |
| 677 | if ((ret = draw_qrcode(ctx, frame)) < 0) |
| 678 | return ret; |
| 679 | |
| 680 | return ff_filter_frame(outlink, frame); |
| 681 | } |
| 682 | |
| 683 | static int qrencodesrc_query_formats(const AVFilterContext *ctx, |
| 684 | AVFilterFormatsConfig **cfg_in, |
nothing calls this directly
no test coverage detected