[FFmpeg-cvslog] avdevice/decklink_enc: convert to codecpar
Marton Balint
git at videolan.org
Mon Feb 27 00:10:44 EET 2017
ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Fri Feb 17 21:53:00 2017 +0100| [e0eb0bdab94837e8557c139685fd997755b36178] | committer: Marton Balint
avdevice/decklink_enc: convert to codecpar
Signed-off-by: Marton Balint <cus at passwd.hu>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e0eb0bdab94837e8557c139685fd997755b36178
---
libavdevice/decklink_enc.cpp | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/libavdevice/decklink_enc.cpp b/libavdevice/decklink_enc.cpp
index ad00224..944e9d3 100644
--- a/libavdevice/decklink_enc.cpp
+++ b/libavdevice/decklink_enc.cpp
@@ -92,20 +92,20 @@ static int decklink_setup_video(AVFormatContext *avctx, AVStream *st)
{
struct decklink_cctx *cctx = (struct decklink_cctx *)avctx->priv_data;
struct decklink_ctx *ctx = (struct decklink_ctx *)cctx->ctx;
- AVCodecContext *c = st->codec;
+ AVCodecParameters *c = st->codecpar;
if (ctx->video) {
av_log(avctx, AV_LOG_ERROR, "Only one video stream is supported!\n");
return -1;
}
- if (c->pix_fmt != AV_PIX_FMT_UYVY422) {
+ if (c->format != AV_PIX_FMT_UYVY422) {
av_log(avctx, AV_LOG_ERROR, "Unsupported pixel format!"
" Only AV_PIX_FMT_UYVY422 is supported.\n");
return -1;
}
if (ff_decklink_set_format(avctx, c->width, c->height,
- c->time_base.num, c->time_base.den)) {
+ st->time_base.num, st->time_base.den)) {
av_log(avctx, AV_LOG_ERROR, "Unsupported video size or framerate!"
" Check available formats with -list_formats 1.\n");
return -1;
@@ -121,8 +121,8 @@ static int decklink_setup_video(AVFormatContext *avctx, AVStream *st)
ctx->dlo->SetScheduledFrameCompletionCallback(ctx->output_callback);
/* Start video semaphore. */
- ctx->frames_preroll = c->time_base.den * ctx->preroll;
- if (c->time_base.den > 1000)
+ ctx->frames_preroll = st->time_base.den * ctx->preroll;
+ if (st->time_base.den > 1000)
ctx->frames_preroll /= 1000;
/* Buffer twice as many frames as the preroll. */
@@ -131,7 +131,7 @@ static int decklink_setup_video(AVFormatContext *avctx, AVStream *st)
sem_init(&ctx->semaphore, 0, ctx->frames_buffer);
/* The device expects the framerate to be fixed. */
- avpriv_set_pts_info(st, 64, c->time_base.num, c->time_base.den);
+ avpriv_set_pts_info(st, 64, st->time_base.num, st->time_base.den);
ctx->video = 1;
@@ -142,7 +142,7 @@ static int decklink_setup_audio(AVFormatContext *avctx, AVStream *st)
{
struct decklink_cctx *cctx = (struct decklink_cctx *)avctx->priv_data;
struct decklink_ctx *ctx = (struct decklink_ctx *)cctx->ctx;
- AVCodecContext *c = st->codec;
+ AVCodecParameters *c = st->codecpar;
if (ctx->audio) {
av_log(avctx, AV_LOG_ERROR, "Only one audio stream is supported!\n");
@@ -352,7 +352,7 @@ av_cold int ff_decklink_write_header(AVFormatContext *avctx)
ret = AVERROR(EIO);
for (n = 0; n < avctx->nb_streams; n++) {
AVStream *st = avctx->streams[n];
- AVCodecContext *c = st->codec;
+ AVCodecParameters *c = st->codecpar;
if (c->codec_type == AVMEDIA_TYPE_AUDIO) {
if (decklink_setup_audio(avctx, st))
goto error;
@@ -380,9 +380,9 @@ int ff_decklink_write_packet(AVFormatContext *avctx, AVPacket *pkt)
ctx->last_pts = FFMAX(ctx->last_pts, pkt->pts);
- if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
+ if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO)
return decklink_write_video_packet(avctx, pkt);
- else if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
+ else if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO)
return decklink_write_audio_packet(avctx, pkt);
return AVERROR(EIO);
More information about the ffmpeg-cvslog
mailing list