extern "C" {
#include <libavformat/avformat.h>
+#include <libavutil/channel_layout.h>
}
#include "defs.h"
stream->time_base = AVRational{ 1, OUTPUT_FREQUENCY };
stream->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
stream->codecpar->codec_id = AV_CODEC_ID_PCM_S32LE;
- stream->codecpar->channel_layout = AV_CH_LAYOUT_STEREO;
- stream->codecpar->channels = 2;
+ stream->codecpar->ch_layout.order = AV_CHANNEL_ORDER_NATIVE;
+ stream->codecpar->ch_layout.nb_channels = 2;
+ stream->codecpar->ch_layout.u.mask = AV_CH_LAYOUT_STEREO;
stream->codecpar->sample_rate = OUTPUT_FREQUENCY;
}
fprintf(stderr, "Could not initialize VA-API for MJPEG encoding: %s. JPEGs will be encoded in software if needed.\n", error.c_str());
}
- va_pool.reset(new VAResourcePool(va_dpy->va_dpy, uyvy_format, nv12_format, config_id_422, config_id_420, /*with_data_buffer=*/true));
-
encoder_thread = thread(&MJPEGEncoder::encoder_thread_func, this);
if (va_dpy != nullptr) {
+ va_pool.reset(new VAResourcePool(va_dpy->va_dpy, uyvy_format, nv12_format, config_id_422, config_id_420, /*with_data_buffer=*/true));
va_receiver_thread = thread(&MJPEGEncoder::va_receiver_thread_func, this);
}