Opened 2 years ago

Closed 2 years ago

#5183 closed defect (fixed)

Build broken after DeckLink header cleanup

Reported by: laurfb Owned by:
Priority: important Component: avdevice
Version: git-master Keywords: decklink regression
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by cehoyos)

Summary of the bug:
Build broken after af54a36fc42d2d2824b5820b59af9f421b849371 and 61fb70c3866b19dccf473ad4e5ede79d117e8e1c commits (DeckLink? header cleanup by TimothyGu?)

Compiling with media-autobuild_suite on Windows (https://github.com/jb-alvarado/media-autobuild_suite) we get this error:

libavdevice/decklink_enc.cpp: In function 'int decklink_write_audio_packet(AVFormatContext*, AVPacket*)':
libavdevice/decklink_enc.cpp:294:57: error: invalid conversion from 'buffercount_type* {aka long unsigned int*}' to 'unsigned int*' [-fpermissive]
     ctx->dlo->GetBufferedAudioSampleFrameCount(&buffered);
In file included from libavdevice/decklink_enc.cpp:22:0:
D:/media-autobuild_suite-master/local64/include/DeckLinkAPI.h:6232:39: note:   initializing argument 1 of 'virtual HRESULT IDeckLinkOutput::GetBufferedAudioSampleFrameCount(unsigned int*)'
     virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount(
make: *** [libavdevice/decklink_enc.o] Error 1
make: *** Waiting for unfinished jobs....

Attachments (1)

0001-decklink-Header-cleanup.patch (3.8 KB) - added by Timothy_Gu 2 years ago.
New patch

Download all attachments as: .zip

Change History (7)

comment:1 Changed 2 years ago by laurfb

  • Summary changed from Build broken after DeckLinkheader cleanup to Build broken after DeckLink header cleanup

comment:2 Changed 2 years ago by cehoyos

  • Component changed from build system to avdevice
  • Description modified (diff)
  • Keywords regression added
  • Priority changed from normal to important

Please provide the complete console output of make V=1 libavdevice/decklink_enc.o

comment:3 Changed 2 years ago by Timothy_Gu

That commit has been reverted for now. I would still like to see the complete error message.

comment:4 Changed 2 years ago by Timothy_Gu

I believe the most important error is not copied: that is, the change in decklink_common.h which erroneously removed the inclusion of DeckLinkAPIVersion.h, thus leading to BLACKMAGIC_DECKLINK_API_VERSION being undefined, and buffercount_type being defined to a wrong value.

I have attached a new version of the patch. Please try building after applying it.

Changed 2 years ago by Timothy_Gu

New patch

comment:5 Changed 2 years ago by RiCON

With the patch it fails on linking with:

E:/ab-full/build/ffmpeg-git/libavdevice/libavdevice.a(decklink_dec.o):decklink_dec.cpp:(.text.unlikely+0x28b): undefined reference to `IID_IDeckLinkInput'
E:/ab-full/build/ffmpeg-git/libavdevice/libavdevice.a(decklink_enc.o):decklink_enc.cpp:(.text.unlikely+0x21e): undefined reference to `IID_IDeckLinkOutput'
collect2.exe: error: ld returned 1 exit status
Makefile:128: recipe for target 'ffmpeg_g.exe' failed

comment:6 Changed 2 years ago by Timothy_Gu

  • Resolution set to fixed
  • Status changed from new to closed

Alright I give up. The current master is fixed anyway.

Note: See TracTickets for help on using tickets.