mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 17:11:56 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8520e34175 | |||
| ce21213a66 | |||
| b3dd62444e | |||
| b9da247c62 | |||
| eebe64fa1d | |||
| 5ba1bdad4b | |||
| c3036d5fa6 |
@@ -11,6 +11,7 @@ URL: https://ghostty.org/
|
||||
Source0: https://release.files.ghostty.org/%{version}/ghostty-%{version}.tar.gz
|
||||
Source1: https://release.files.ghostty.org/%{version}/ghostty-%{version}.tar.gz.minisig
|
||||
BuildRequires: anda-srpm-macros >= 0.2.15
|
||||
BuildRequires: gettext
|
||||
BuildRequires: gtk4-devel
|
||||
BuildRequires: libadwaita-devel
|
||||
BuildRequires: libX11-devel
|
||||
@@ -18,22 +19,26 @@ BuildRequires: minisign
|
||||
BuildRequires: ncurses
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: pandoc-cli
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: zig >= 0.14.0
|
||||
BuildRequires: zig-rpm-macros
|
||||
BuildRequires: pkgconfig(blueprint-compiler)
|
||||
BuildRequires: pkgconfig(bzip2)
|
||||
BuildRequires: pkgconfig(freetype2)
|
||||
BuildRequires: pkgconfig(fontconfig)
|
||||
BuildRequires: pkgconfig(gtk4)
|
||||
BuildRequires: pkgconfig(gtk4-layer-shell-0)
|
||||
BuildRequires: pkgconfig(harfbuzz)
|
||||
BuildRequires: pkgconfig(libadwaita-1)
|
||||
BuildRequires: pkgconfig(libpng)
|
||||
BuildRequires: pkgconfig(libxml-2.0)
|
||||
BuildRequires: pkgconfig(oniguruma)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
Requires: %{name}-terminfo = %{version}-%{release}
|
||||
Requires: %{name}-shell-integration = %{version}-%{release}
|
||||
Requires: %{name}-terminfo = %{evr}
|
||||
Requires: %{name}-shell-integration = %{evr}
|
||||
Requires: (%{name}-kio = %{evr} if kf6-kio)
|
||||
Requires: gtk4
|
||||
Requires: gtk4-layer-shell
|
||||
Requires: libadwaita
|
||||
Conflicts: ghostty-nightly
|
||||
Packager: Gilver E. <rockgrub@disroot.org>
|
||||
@@ -129,33 +134,21 @@ This package contains files allowing Ghostty to integrate with various shells.
|
||||
|
||||
%package terminfo
|
||||
Summary: Ghostty terminfo
|
||||
Supplements: %{name}
|
||||
%if 0%{?fedora} >= 42
|
||||
Requires: ncurses-term >= 6.5-5.20250125%{?dist}
|
||||
Requires: ncurses-term >= 6.5-5.20250125
|
||||
%endif
|
||||
Supplements: %{name}
|
||||
Obsoletes: %{name}-terminfo-source < %{evr}
|
||||
BuildArch: noarch
|
||||
|
||||
%description terminfo
|
||||
Ghostty's terminfo. Needed for basic terminal function.
|
||||
|
||||
%package terminfo-source
|
||||
Summary: Source files for Ghostty's terminfo
|
||||
Requires: %{name}
|
||||
Requires: %{name}-terminfo
|
||||
BuildArch: noarch
|
||||
|
||||
%description terminfo-source
|
||||
Source files for Ghostty's terminfo. Available for debugging use.
|
||||
|
||||
%prep
|
||||
/usr/bin/minisign -V -m %{SOURCE0} -x %{SOURCE1} -P %{public_key}
|
||||
%autosetup
|
||||
|
||||
export ZIG_GLOBAL_CACHE_DIR="%{_zig_cache_dir}"
|
||||
zig build --fetch
|
||||
zig fetch git+https://github.com/zigimg/zigimg#3a667bdb3d7f0955a5a51c8468eac83210c1439e
|
||||
zig fetch git+https://github.com/mitchellh/libxev#f6a672a78436d8efee1aa847a43a900ad773618b
|
||||
ZIG_GLOBAL_CACHE_DIR="%{_zig_cache_dir}" ./nix/build-support/fetch-zig-cache.sh
|
||||
|
||||
%build
|
||||
|
||||
@@ -169,12 +162,14 @@ DESTDIR="%{buildroot}" \
|
||||
-Dpie=true \
|
||||
-Demit-docs
|
||||
|
||||
#Don't conflict with ncurses-term on F42 and up
|
||||
# Don't conflict with ncurses-term on F42 and up
|
||||
%if 0%{?fedora} >= 42
|
||||
rm -rf %{buildroot}%{_datadir}/terminfo/g/ghostty
|
||||
rm -rf %{buildroot}%{_datadir}/terminfo/g/%{name}
|
||||
%endif
|
||||
|
||||
%files
|
||||
%find_lang %{appid}
|
||||
|
||||
%files -f %{appid}.lang
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%{_bindir}/%{name}
|
||||
@@ -183,6 +178,7 @@ rm -rf %{buildroot}%{_datadir}/terminfo/g/ghostty
|
||||
%{_datadir}/%{name}/doc
|
||||
%{_datadir}/%{name}/themes
|
||||
%{_datadir}/metainfo/%{appid}.metainfo.xml
|
||||
%{_datadir}/dbus-1/services/%{appid}.service
|
||||
%{_iconsdir}/hicolor/16x16/apps/%{appid}.png
|
||||
%{_iconsdir}/hicolor/16x16@2/apps/%{appid}.png
|
||||
%{_iconsdir}/hicolor/32x32/apps/%{appid}.png
|
||||
@@ -195,8 +191,7 @@ rm -rf %{buildroot}%{_datadir}/terminfo/g/ghostty
|
||||
%{_iconsdir}/hicolor/1024x1024/apps/%{appid}.png
|
||||
%{_mandir}/man1/%{name}.1.gz
|
||||
%{_mandir}/man5/%{name}.5.gz
|
||||
%{_userunitdir}/%{appid}.service
|
||||
%{_prefix}/lib/dbus-1/services/%{appid}.service
|
||||
%{_userunitdir}/app-%{appid}.service
|
||||
|
||||
%files bash-completion
|
||||
%{bash_completions_dir}/%{name}.bash
|
||||
@@ -239,13 +234,18 @@ rm -rf %{buildroot}%{_datadir}/terminfo/g/ghostty
|
||||
|
||||
%files terminfo
|
||||
%if 0%{?fedora} < 42
|
||||
%{_datadir}/terminfo/g/ghostty
|
||||
%{_datadir}/terminfo/g/%{name}
|
||||
%endif
|
||||
%{_datadir}/terminfo/x/xterm-ghostty
|
||||
%{_datadir}/terminfo/x/xterm-%{name}
|
||||
|
||||
%files terminfo-source
|
||||
%{_datadir}/terminfo/ghostty.termcap
|
||||
%{_datadir}/terminfo/ghostty.terminfo
|
||||
%post
|
||||
%systemd_user_post app-%{appid}.service
|
||||
|
||||
%preun
|
||||
%systemd_user_preun app-%{appid}.service
|
||||
|
||||
%postun
|
||||
%systemd_user_postun app-%{appid}.service
|
||||
|
||||
%changelog
|
||||
* Fri Jan 31 2025 Gilver E. <rockgrub@disroot.org>
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
--- a/libavcodec/lcevcdec.c
|
||||
+++ b/libavcodec/lcevcdec.c
|
||||
@@ -139,7 +139,7 @@ static int lcevc_send_frame(void *logctx
|
||||
if (!sd)
|
||||
return 1;
|
||||
|
||||
- res = LCEVC_SendDecoderEnhancementData(lcevc->decoder, in->pts, 0, sd->data, sd->size);
|
||||
+ res = LCEVC_SendDecoderEnhancementData(lcevc->decoder, (uint64_t) in->pts, sd->data, sd->size);
|
||||
if (res != LCEVC_Success)
|
||||
return AVERROR_EXTERNAL;
|
||||
|
||||
@@ -147,7 +147,7 @@ static int lcevc_send_frame(void *logctx
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
- res = LCEVC_SendDecoderBase(lcevc->decoder, in->pts, 0, picture, -1, NULL);
|
||||
+ res = LCEVC_SendDecoderBase(lcevc->decoder, (uint64_t) in->pts, picture, -1, NULL);
|
||||
if (res != LCEVC_Success)
|
||||
return AVERROR_EXTERNAL;
|
||||
|
||||
--- a/libavfilter/vf_lcevc.c
|
||||
+++ b/libavfilter/vf_lcevc.c
|
||||
@@ -139,7 +139,7 @@ static int send_frame(AVFilterLink *inlink, AVFrame *in)
|
||||
return ret;
|
||||
|
||||
if (sd) {
|
||||
- res = LCEVC_SendDecoderEnhancementData(lcevc->decoder, in->pts, 0, sd->data, sd->size);
|
||||
+ res = LCEVC_SendDecoderEnhancementData(lcevc->decoder, (uint64_t) in->pts, sd->data, sd->size);
|
||||
if (res == LCEVC_Again)
|
||||
return AVERROR(EAGAIN);
|
||||
else if (res != LCEVC_Success) {
|
||||
@@ -148,7 +148,7 @@ static int send_frame(AVFilterLink *inlink, AVFrame *in)
|
||||
}
|
||||
}
|
||||
|
||||
- res = LCEVC_SendDecoderBase(lcevc->decoder, in->pts, 0, picture, -1, in);
|
||||
+ res = LCEVC_SendDecoderBase(lcevc->decoder, (uint64_t) in->pts, picture, -1, in);
|
||||
if (res != LCEVC_Success) {
|
||||
av_log(ctx, AV_LOG_ERROR, "LCEVC_SendDecoderBase failed\n");
|
||||
LCEVC_FreePicture(lcevc->decoder, picture);
|
||||
@@ -1,327 +0,0 @@
|
||||
From 7cdcac1a8ca650aeebda36afc695dfbe02a55ebb Mon Sep 17 00:00:00 2001
|
||||
From: pabloko <pablomorpheo@gmail.com>
|
||||
Date: Wed, 25 Dec 2024 04:00:35 +0100
|
||||
Subject: [PATCH 1/2] SDK 14.4
|
||||
|
||||
---
|
||||
libavdevice/decklink_common.cpp | 8 ++++----
|
||||
libavdevice/decklink_common.h | 4 ++--
|
||||
libavdevice/decklink_dec.cpp | 34 ++++++++++++++++++++-------------
|
||||
libavdevice/decklink_enc.cpp | 22 ++++++++++++++-------
|
||||
4 files changed, 42 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/libavdevice/decklink_common.cpp b/libavdevice/decklink_common.cpp
|
||||
index 47de7ef6b0f7c..34cd17a129f6a 100644
|
||||
--- a/libavdevice/decklink_common.cpp
|
||||
+++ b/libavdevice/decklink_common.cpp
|
||||
@@ -512,8 +512,8 @@ int ff_decklink_list_devices(AVFormatContext *avctx,
|
||||
return AVERROR(EIO);
|
||||
|
||||
while (ret == 0 && iter->Next(&dl) == S_OK) {
|
||||
- IDeckLinkOutput *output_config;
|
||||
- IDeckLinkInput *input_config;
|
||||
+ IDeckLinkOutput_v14_2_1 *output_config;
|
||||
+ IDeckLinkInput_v14_2_1 *input_config;
|
||||
const char *display_name = NULL;
|
||||
const char *unique_name = NULL;
|
||||
AVDeviceInfo *new_device = NULL;
|
||||
@@ -527,14 +527,14 @@ int ff_decklink_list_devices(AVFormatContext *avctx,
|
||||
goto next;
|
||||
|
||||
if (show_outputs) {
|
||||
- if (dl->QueryInterface(IID_IDeckLinkOutput, (void **)&output_config) == S_OK) {
|
||||
+ if (dl->QueryInterface(IID_IDeckLinkOutput_v14_2_1, (void **)&output_config) == S_OK) {
|
||||
output_config->Release();
|
||||
add = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (show_inputs) {
|
||||
- if (dl->QueryInterface(IID_IDeckLinkInput, (void **)&input_config) == S_OK) {
|
||||
+ if (dl->QueryInterface(IID_IDeckLinkInput_v14_2_1, (void **)&input_config) == S_OK) {
|
||||
input_config->Release();
|
||||
add = 1;
|
||||
}
|
||||
diff --git a/libavdevice/decklink_common.h b/libavdevice/decklink_common.h
|
||||
index 6b32dc2d09cba..4f836aee66cd3 100644
|
||||
--- a/libavdevice/decklink_common.h
|
||||
+++ b/libavdevice/decklink_common.h
|
||||
@@ -93,8 +93,8 @@ typedef struct DecklinkPacketQueue {
|
||||
struct decklink_ctx {
|
||||
/* DeckLink SDK interfaces */
|
||||
IDeckLink *dl;
|
||||
- IDeckLinkOutput *dlo;
|
||||
- IDeckLinkInput *dli;
|
||||
+ IDeckLinkOutput_v14_2_1 *dlo;
|
||||
+ IDeckLinkInput_v14_2_1 *dli;
|
||||
IDeckLinkConfiguration *cfg;
|
||||
IDeckLinkProfileAttributes *attr;
|
||||
decklink_output_callback *output_callback;
|
||||
diff --git a/libavdevice/decklink_dec.cpp b/libavdevice/decklink_dec.cpp
|
||||
index 418701e4e0c7a..a2a3ac95b8514 100644
|
||||
--- a/libavdevice/decklink_dec.cpp
|
||||
+++ b/libavdevice/decklink_dec.cpp
|
||||
@@ -105,13 +105,13 @@ static VANCLineNumber vanc_line_numbers[] = {
|
||||
{bmdModeUnknown, 0, -1, -1, -1}
|
||||
};
|
||||
|
||||
-class decklink_allocator : public IDeckLinkMemoryAllocator
|
||||
+class decklink_allocator : public IDeckLinkMemoryAllocator_v14_2_1
|
||||
{
|
||||
public:
|
||||
decklink_allocator(): _refs(1) { }
|
||||
virtual ~decklink_allocator() { }
|
||||
|
||||
- // IDeckLinkMemoryAllocator methods
|
||||
+ // IDeckLinkMemoryAllocator_v14_2_1 methods
|
||||
virtual HRESULT STDMETHODCALLTYPE AllocateBuffer(unsigned int bufferSize, void* *allocatedBuffer)
|
||||
{
|
||||
void *buf = av_malloc(bufferSize + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
@@ -129,7 +129,11 @@ class decklink_allocator : public IDeckLinkMemoryAllocator
|
||||
virtual HRESULT STDMETHODCALLTYPE Decommit() { return S_OK; }
|
||||
|
||||
// IUnknown methods
|
||||
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; }
|
||||
+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
|
||||
+ {
|
||||
+ if (iid == IID_IDeckLinkMemoryAllocator_v14_2_1) { *ppv = (IDeckLinkMemoryAllocator_v14_2_1*)this; AddRef(); return S_OK; }
|
||||
+ return E_NOINTERFACE;
|
||||
+ }
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++_refs; }
|
||||
virtual ULONG STDMETHODCALLTYPE Release(void)
|
||||
{
|
||||
@@ -472,7 +476,7 @@ static uint8_t *get_metadata(AVFormatContext *avctx, uint16_t *buf, size_t width
|
||||
}
|
||||
|
||||
|
||||
-static void handle_klv(AVFormatContext *avctx, decklink_ctx *ctx, IDeckLinkVideoInputFrame *videoFrame, int64_t pts)
|
||||
+static void handle_klv(AVFormatContext *avctx, decklink_ctx *ctx, IDeckLinkVideoInputFrame_v14_2_1 *videoFrame, int64_t pts)
|
||||
{
|
||||
const uint8_t KLV_DID = 0x44;
|
||||
const uint8_t KLV_IN_VANC_SDID = 0x04;
|
||||
@@ -574,17 +578,21 @@ static void handle_klv(AVFormatContext *avctx, decklink_ctx *ctx, IDeckLinkVideo
|
||||
}
|
||||
}
|
||||
|
||||
-class decklink_input_callback : public IDeckLinkInputCallback
|
||||
+class decklink_input_callback : public IDeckLinkInputCallback_v14_2_1
|
||||
{
|
||||
public:
|
||||
explicit decklink_input_callback(AVFormatContext *_avctx);
|
||||
~decklink_input_callback();
|
||||
|
||||
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; }
|
||||
+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
|
||||
+ {
|
||||
+ if (iid == IID_IDeckLinkInputCallback_v14_2_1) { *ppv = (IDeckLinkInputCallback_v14_2_1*)this; AddRef(); return S_OK; }
|
||||
+ return E_NOINTERFACE;
|
||||
+ }
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void);
|
||||
virtual ULONG STDMETHODCALLTYPE Release(void);
|
||||
virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(BMDVideoInputFormatChangedEvents, IDeckLinkDisplayMode*, BMDDetectedVideoInputFormatFlags);
|
||||
- virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(IDeckLinkVideoInputFrame*, IDeckLinkAudioInputPacket*);
|
||||
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(IDeckLinkVideoInputFrame_v14_2_1*, IDeckLinkAudioInputPacket*);
|
||||
|
||||
private:
|
||||
std::atomic<int> _refs;
|
||||
@@ -593,7 +601,7 @@ class decklink_input_callback : public IDeckLinkInputCallback
|
||||
int no_video;
|
||||
int64_t initial_video_pts;
|
||||
int64_t initial_audio_pts;
|
||||
- IDeckLinkVideoInputFrame* last_video_frame;
|
||||
+ IDeckLinkVideoInputFrame_v14_2_1* last_video_frame;
|
||||
};
|
||||
|
||||
decklink_input_callback::decklink_input_callback(AVFormatContext *_avctx) : _refs(1)
|
||||
@@ -625,7 +633,7 @@ ULONG decklink_input_callback::Release(void)
|
||||
return ret;
|
||||
}
|
||||
|
||||
-static int64_t get_pkt_pts(IDeckLinkVideoInputFrame *videoFrame,
|
||||
+static int64_t get_pkt_pts(IDeckLinkVideoInputFrame_v14_2_1 *videoFrame,
|
||||
IDeckLinkAudioInputPacket *audioFrame,
|
||||
int64_t wallclock,
|
||||
int64_t abs_wallclock,
|
||||
@@ -679,7 +687,7 @@ static int64_t get_pkt_pts(IDeckLinkVideoInputFrame *videoFrame,
|
||||
return pts;
|
||||
}
|
||||
|
||||
-static int get_bmd_timecode(AVFormatContext *avctx, AVTimecode *tc, AVRational frame_rate, BMDTimecodeFormat tc_format, IDeckLinkVideoInputFrame *videoFrame)
|
||||
+static int get_bmd_timecode(AVFormatContext *avctx, AVTimecode *tc, AVRational frame_rate, BMDTimecodeFormat tc_format, IDeckLinkVideoInputFrame_v14_2_1 *videoFrame)
|
||||
{
|
||||
IDeckLinkTimecode *timecode;
|
||||
int ret = AVERROR(ENOENT);
|
||||
@@ -701,7 +709,7 @@ static int get_bmd_timecode(AVFormatContext *avctx, AVTimecode *tc, AVRational f
|
||||
return ret;
|
||||
}
|
||||
|
||||
-static int get_frame_timecode(AVFormatContext *avctx, decklink_ctx *ctx, AVTimecode *tc, IDeckLinkVideoInputFrame *videoFrame)
|
||||
+static int get_frame_timecode(AVFormatContext *avctx, decklink_ctx *ctx, AVTimecode *tc, IDeckLinkVideoInputFrame_v14_2_1 *videoFrame)
|
||||
{
|
||||
AVRational frame_rate = ctx->video_st->r_frame_rate;
|
||||
int ret;
|
||||
@@ -726,7 +734,7 @@ static int get_frame_timecode(AVFormatContext *avctx, decklink_ctx *ctx, AVTimec
|
||||
}
|
||||
|
||||
HRESULT decklink_input_callback::VideoInputFrameArrived(
|
||||
- IDeckLinkVideoInputFrame *videoFrame, IDeckLinkAudioInputPacket *audioFrame)
|
||||
+ IDeckLinkVideoInputFrame_v14_2_1 *videoFrame, IDeckLinkAudioInputPacket *audioFrame)
|
||||
{
|
||||
void *frameBytes;
|
||||
void *audioFrameBytes;
|
||||
@@ -1141,7 +1149,7 @@ av_cold int ff_decklink_read_header(AVFormatContext *avctx)
|
||||
goto error;
|
||||
|
||||
/* Get input device. */
|
||||
- if (ctx->dl->QueryInterface(IID_IDeckLinkInput, (void **) &ctx->dli) != S_OK) {
|
||||
+ if (ctx->dl->QueryInterface(IID_IDeckLinkInput_v14_2_1, (void **) &ctx->dli) != S_OK) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Could not open input device from '%s'\n",
|
||||
avctx->url);
|
||||
ret = AVERROR(EIO);
|
||||
diff --git a/libavdevice/decklink_enc.cpp b/libavdevice/decklink_enc.cpp
|
||||
index cb8f91730eeb3..28da8b24f5010 100644
|
||||
--- a/libavdevice/decklink_enc.cpp
|
||||
+++ b/libavdevice/decklink_enc.cpp
|
||||
@@ -48,7 +48,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/* DeckLink callback class declaration */
|
||||
-class decklink_frame : public IDeckLinkVideoFrame
|
||||
+class decklink_frame : public IDeckLinkVideoFrame_v14_2_1
|
||||
{
|
||||
public:
|
||||
decklink_frame(struct decklink_ctx *ctx, AVFrame *avframe, AVCodecID codec_id, int height, int width) :
|
||||
@@ -111,7 +111,11 @@ class decklink_frame : public IDeckLinkVideoFrame
|
||||
_ancillary->AddRef();
|
||||
return S_OK;
|
||||
}
|
||||
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; }
|
||||
+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
|
||||
+ {
|
||||
+ if (iid == IID_IDeckLinkVideoFrame_v14_2_1) { *ppv = (IDeckLinkVideoFrame_v14_2_1*)this; AddRef(); return S_OK; }
|
||||
+ return E_NOINTERFACE;
|
||||
+ }
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++_refs; }
|
||||
virtual ULONG STDMETHODCALLTYPE Release(void)
|
||||
{
|
||||
@@ -138,10 +142,10 @@ class decklink_frame : public IDeckLinkVideoFrame
|
||||
std::atomic<int> _refs;
|
||||
};
|
||||
|
||||
-class decklink_output_callback : public IDeckLinkVideoOutputCallback
|
||||
+class decklink_output_callback : public IDeckLinkVideoOutputCallback_v14_2_1
|
||||
{
|
||||
public:
|
||||
- virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(IDeckLinkVideoFrame *_frame, BMDOutputFrameCompletionResult result)
|
||||
+ virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(IDeckLinkVideoFrame_v14_2_1 *_frame, BMDOutputFrameCompletionResult result)
|
||||
{
|
||||
decklink_frame *frame = static_cast<decklink_frame *>(_frame);
|
||||
struct decklink_ctx *ctx = frame->_ctx;
|
||||
@@ -159,7 +163,11 @@ class decklink_output_callback : public IDeckLinkVideoOutputCallback
|
||||
return S_OK;
|
||||
}
|
||||
virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped(void) { return S_OK; }
|
||||
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; }
|
||||
+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
|
||||
+ {
|
||||
+ if (iid == IID_IDeckLinkVideoOutputCallback_v14_2_1) { *ppv = (IDeckLinkVideoOutputCallback_v14_2_1*)this; AddRef(); return S_OK; }
|
||||
+ return E_NOINTERFACE;
|
||||
+ }
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void) { return 1; }
|
||||
virtual ULONG STDMETHODCALLTYPE Release(void) { return 1; }
|
||||
};
|
||||
@@ -739,7 +747,7 @@ static int decklink_write_video_packet(AVFormatContext *avctx, AVPacket *pkt)
|
||||
ctx->first_pts = pkt->pts;
|
||||
|
||||
/* Schedule frame for playback. */
|
||||
- hr = ctx->dlo->ScheduleVideoFrame((class IDeckLinkVideoFrame *) frame,
|
||||
+ hr = ctx->dlo->ScheduleVideoFrame((class IDeckLinkVideoFrame_v14_2_1 *) frame,
|
||||
pkt->pts * ctx->bmd_tb_num,
|
||||
ctx->bmd_tb_num, ctx->bmd_tb_den);
|
||||
/* Pass ownership to DeckLink, or release on failure */
|
||||
@@ -874,7 +882,7 @@ av_cold int ff_decklink_write_header(AVFormatContext *avctx)
|
||||
return ret;
|
||||
|
||||
/* Get output device. */
|
||||
- if (ctx->dl->QueryInterface(IID_IDeckLinkOutput, (void **) &ctx->dlo) != S_OK) {
|
||||
+ if (ctx->dl->QueryInterface(IID_IDeckLinkOutput_v14_2_1, (void **) &ctx->dlo) != S_OK) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Could not open output device from '%s'\n",
|
||||
avctx->url);
|
||||
ret = AVERROR(EIO);
|
||||
|
||||
From 9b4249693423c47df7b4b876d4777e2feb972fb5 Mon Sep 17 00:00:00 2001
|
||||
From: pabloko <pablomorpheo@gmail.com>
|
||||
Date: Wed, 8 Jan 2025 00:59:07 +0100
|
||||
Subject: [PATCH 2/2] format
|
||||
|
||||
---
|
||||
libavdevice/decklink_dec.cpp | 14 +++++++++++---
|
||||
libavdevice/decklink_enc.cpp | 16 +++++++++++++---
|
||||
2 files changed, 24 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/libavdevice/decklink_dec.cpp b/libavdevice/decklink_dec.cpp
|
||||
index a2a3ac95b8514..28b523c8fd433 100644
|
||||
--- a/libavdevice/decklink_dec.cpp
|
||||
+++ b/libavdevice/decklink_dec.cpp
|
||||
@@ -131,7 +131,11 @@ class decklink_allocator : public IDeckLinkMemoryAllocator_v14_2_1
|
||||
// IUnknown methods
|
||||
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
|
||||
{
|
||||
- if (iid == IID_IDeckLinkMemoryAllocator_v14_2_1) { *ppv = (IDeckLinkMemoryAllocator_v14_2_1*)this; AddRef(); return S_OK; }
|
||||
+ if (iid == IID_IDeckLinkMemoryAllocator_v14_2_1) {
|
||||
+ *ppv = (IDeckLinkMemoryAllocator_v14_2_1*)this;
|
||||
+ AddRef();
|
||||
+ return S_OK;
|
||||
+ }
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++_refs; }
|
||||
@@ -585,8 +589,12 @@ class decklink_input_callback : public IDeckLinkInputCallback_v14_2_1
|
||||
~decklink_input_callback();
|
||||
|
||||
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
|
||||
- {
|
||||
- if (iid == IID_IDeckLinkInputCallback_v14_2_1) { *ppv = (IDeckLinkInputCallback_v14_2_1*)this; AddRef(); return S_OK; }
|
||||
+ {
|
||||
+ if (iid == IID_IDeckLinkInputCallback_v14_2_1) {
|
||||
+ *ppv = (IDeckLinkInputCallback_v14_2_1*)this;
|
||||
+ AddRef();
|
||||
+ return S_OK;
|
||||
+ }
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void);
|
||||
diff --git a/libavdevice/decklink_enc.cpp b/libavdevice/decklink_enc.cpp
|
||||
index 28da8b24f5010..5bed55dc4fae6 100644
|
||||
--- a/libavdevice/decklink_enc.cpp
|
||||
+++ b/libavdevice/decklink_enc.cpp
|
||||
@@ -113,7 +113,12 @@ class decklink_frame : public IDeckLinkVideoFrame_v14_2_1
|
||||
}
|
||||
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
|
||||
{
|
||||
- if (iid == IID_IDeckLinkVideoFrame_v14_2_1) { *ppv = (IDeckLinkVideoFrame_v14_2_1*)this; AddRef(); return S_OK; }
|
||||
+ if (iid == IID_IDeckLinkVideoFrame_v14_2_1)
|
||||
+ {
|
||||
+ *ppv = (IDeckLinkVideoFrame_v14_2_1*)this;
|
||||
+ AddRef();
|
||||
+ return S_OK;
|
||||
+ }
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++_refs; }
|
||||
@@ -164,8 +169,13 @@ class decklink_output_callback : public IDeckLinkVideoOutputCallback_v14_2_1
|
||||
}
|
||||
virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped(void) { return S_OK; }
|
||||
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
|
||||
- {
|
||||
- if (iid == IID_IDeckLinkVideoOutputCallback_v14_2_1) { *ppv = (IDeckLinkVideoOutputCallback_v14_2_1*)this; AddRef(); return S_OK; }
|
||||
+ {
|
||||
+ if (iid == IID_IDeckLinkVideoOutputCallback_v14_2_1)
|
||||
+ {
|
||||
+ *ppv = (IDeckLinkVideoOutputCallback_v14_2_1*)this;
|
||||
+ AddRef();
|
||||
+ return S_OK;
|
||||
+ }
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void) { return 1; }
|
||||
Reference in New Issue
Block a user