summaryrefslogtreecommitdiff
path: root/src/codec/ffmpeg
diff options
context:
space:
mode:
Diffstat (limited to 'src/codec/ffmpeg')
-rw-r--r--src/codec/ffmpeg/avio.c4
-rw-r--r--src/codec/ffmpeg/decoder.c8
-rw-r--r--src/codec/ffmpeg/decoder.h4
-rw-r--r--src/codec/ffmpeg/demuxer.c5
4 files changed, 8 insertions, 13 deletions
diff --git a/src/codec/ffmpeg/avio.c b/src/codec/ffmpeg/avio.c
index 143bc1f..855a4de 100644
--- a/src/codec/ffmpeg/avio.c
+++ b/src/codec/ffmpeg/avio.c
@@ -2,10 +2,10 @@
#include "../../cache/handle.h"
-s32 camu_avio_read(void *data, u8 *buf, s32 buf_size)
+s32 camu_avio_read(void *data, u8 *buf, s32 size)
{
struct cch_handle *handle = (struct cch_handle *)data;
- return cch_handle_read(handle, buf, buf_size);
+ return cch_handle_read(handle, buf, size);
}
s64 camu_avio_seek(void *data, s64 offset, s32 whence)
diff --git a/src/codec/ffmpeg/decoder.c b/src/codec/ffmpeg/decoder.c
index 5f4de67..dfabe05 100644
--- a/src/codec/ffmpeg/decoder.c
+++ b/src/codec/ffmpeg/decoder.c
@@ -11,15 +11,11 @@
#ifdef CAMU_FF_DECODER_HWACCEL
#if defined CAMU_RENDERER_VULKAN
static const char *hwdevces[] = { "vulkan" };
-#elif defined CAMU_RENDERER_DX11
+#elif defined NAUNET_ON_WINDOWS
static const char *hwdevces[] = { "d3d11va" };
#elif defined CAMU_RENDERER_OPENGL
-#ifdef NAUNET_ON_WINDOWS
-static const char *hwdevces[] = { "d3d11va" };
-#else
static const char *hwdevces[] = { "vaapi" };
#endif
-#endif
static s32 get_buffer2(AVCodecContext *context, AVFrame *pic, s32 flags)
{
@@ -277,7 +273,7 @@ static bool ff_decoder_init(struct camu_decoder *dec, struct camu_renderer *rend
}
const char *long_name = codec->long_name ? codec->long_name : codec->name;
- s64 kbps = codecpar->bit_rate > 0 ? codecpar->bit_rate / 1000L : 0L;
+ s64 kbps = codecpar->bit_rate > 0 ? codecpar->bit_rate / 1000 : 0;
al_log_info("ff_decoder", "Codec: %s (%s) %lldkbps.", codec->name, long_name, kbps);
av->callback = callback;
diff --git a/src/codec/ffmpeg/decoder.h b/src/codec/ffmpeg/decoder.h
index f698a6d..aa9eb57 100644
--- a/src/codec/ffmpeg/decoder.h
+++ b/src/codec/ffmpeg/decoder.h
@@ -5,15 +5,13 @@
#include "../codec.h"
-#ifndef CAMU_SINK_NO_VIDEO
//#define CAMU_FF_DECODER_HWACCEL
-#endif
struct camu_ff_decoder {
struct camu_decoder dec;
AVCodecContext *codec_context;
- struct camu_renderer *renderer;
#ifdef CAMU_FF_DECODER_HWACCEL
+ struct camu_renderer *renderer;
array(const AVCodec *) supported_hw_codecs;
array(enum AVHWDeviceType) supported_hw_devices;
AVBufferRef *hw_context;
diff --git a/src/codec/ffmpeg/demuxer.c b/src/codec/ffmpeg/demuxer.c
index 5cb3ceb..9764f58 100644
--- a/src/codec/ffmpeg/demuxer.c
+++ b/src/codec/ffmpeg/demuxer.c
@@ -54,8 +54,9 @@ static bool ff_demuxer_init(struct camu_demuxer *demux, struct cch_handle *handl
// FFmpeg says the avio protocol configures "buffers and access patterns".
// I think we already do enough buffering but, better access patterns for
// network streams sounds like something we want.
- if (avformat_open_input(&av->format_context, "file:", NULL, &opts) < 0) {
- al_log_error("ff_demuxer", "Failed to open input.");
+ s32 ret = avformat_open_input(&av->format_context, "file:", NULL, &opts);
+ if (ret < 0) {
+ al_log_error("ff_demuxer", "Failed to open input (%s).", av_err2str(ret));
av_dict_free(&opts);
goto err;
}