Opened 8 years ago

Closed 8 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 Carl Eugen Hoyos)

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 8 years ago.
New patch

Download all attachments as: .zip

Change History (7)

comment:1 by laurfb, 8 years ago

Summary: Build broken after DeckLinkheader cleanupBuild broken after DeckLink header cleanup

comment:2 by Carl Eugen Hoyos, 8 years ago

Component: build systemavdevice
Description: modified (diff)
Keywords: regression added
Priority: normalimportant

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

comment:3 by Timothy Gu, 8 years ago

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

comment:4 by Timothy Gu, 8 years ago

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.

by Timothy Gu, 8 years ago

New patch

comment:5 by RiCON, 8 years ago

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 by Timothy Gu, 8 years ago

Resolution: fixed
Status: newclosed

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

Note: See TracTickets for help on using tickets.