2024-12-23 13:37:52 -05:00
|
|
|
include(audio)
|
|
|
|
|
|
2024-12-18 10:33:53 +05:00
|
|
|
if (NOT ANDROID)
|
2024-10-09 03:40:48 +01:00
|
|
|
include(ffmpeg)
|
|
|
|
|
endif()
|
2024-09-09 16:03:15 +02:00
|
|
|
|
2024-06-10 15:04:03 -05:00
|
|
|
set(SOURCES
|
2024-08-28 12:08:38 +02:00
|
|
|
Audio/Loader.cpp
|
2024-09-30 14:49:59 +02:00
|
|
|
Audio/SampleFormats.cpp
|
2024-06-10 15:04:03 -05:00
|
|
|
Color/ColorConverter.cpp
|
|
|
|
|
Color/ColorPrimaries.cpp
|
|
|
|
|
Color/TransferCharacteristics.cpp
|
|
|
|
|
Containers/Matroska/MatroskaDemuxer.cpp
|
|
|
|
|
Containers/Matroska/Reader.cpp
|
|
|
|
|
PlaybackManager.cpp
|
|
|
|
|
VideoFrame.cpp
|
|
|
|
|
)
|
|
|
|
|
|
2025-06-30 08:11:44 -07:00
|
|
|
ladybird_lib(LibMedia media)
|
2025-07-02 12:34:34 +02:00
|
|
|
target_link_libraries(LibMedia PRIVATE LibCore LibCrypto LibIPC LibGfx LibThreading LibUnicode)
|
2024-06-19 18:01:41 -05:00
|
|
|
|
2024-12-18 10:33:53 +05:00
|
|
|
if (NOT ANDROID)
|
2024-10-02 12:40:19 -06:00
|
|
|
target_sources(LibMedia PRIVATE
|
|
|
|
|
Audio/FFmpegLoader.cpp
|
2025-03-10 14:54:02 +00:00
|
|
|
FFmpeg/FFmpegDemuxer.cpp
|
2025-03-06 14:30:41 +00:00
|
|
|
FFmpeg/FFmpegIOContext.cpp
|
2024-10-02 12:40:19 -06:00
|
|
|
FFmpeg/FFmpegVideoDecoder.cpp
|
|
|
|
|
)
|
2024-09-30 14:33:08 +02:00
|
|
|
target_link_libraries(LibMedia PRIVATE PkgConfig::AVCODEC PkgConfig::AVFORMAT PkgConfig::AVUTIL)
|
2024-10-02 12:40:19 -06:00
|
|
|
else()
|
2024-10-09 03:40:48 +01:00
|
|
|
# FIXME: Need to figure out how to build or replace ffmpeg libs on Android and Windows
|
2025-03-10 14:54:02 +00:00
|
|
|
target_sources(LibMedia PRIVATE
|
|
|
|
|
FFmpeg/FFmpegDemuxerStub.cpp
|
|
|
|
|
FFmpeg/FFmpegVideoDecoderStub.cpp
|
|
|
|
|
)
|
2024-07-03 15:55:30 -04:00
|
|
|
endif()
|
2024-08-28 12:08:38 +02:00
|
|
|
|
2024-12-23 13:37:52 -05:00
|
|
|
if (LADYBIRD_AUDIO_BACKEND STREQUAL "PULSE")
|
2024-10-02 12:40:19 -06:00
|
|
|
target_sources(LibMedia PRIVATE
|
|
|
|
|
Audio/PlaybackStreamPulseAudio.cpp
|
|
|
|
|
Audio/PulseAudioWrappers.cpp
|
|
|
|
|
)
|
2024-10-02 13:29:02 -06:00
|
|
|
target_link_libraries(LibMedia PRIVATE PkgConfig::PULSEAUDIO)
|
2024-12-23 13:37:52 -05:00
|
|
|
elseif (LADYBIRD_AUDIO_BACKEND STREQUAL "AUDIO_UNIT")
|
2024-08-28 12:08:38 +02:00
|
|
|
target_sources(LibMedia PRIVATE Audio/PlaybackStreamAudioUnit.cpp)
|
|
|
|
|
find_library(AUDIO_UNIT AudioUnit REQUIRED)
|
|
|
|
|
target_link_libraries(LibMedia PRIVATE ${AUDIO_UNIT})
|
2024-12-23 13:37:52 -05:00
|
|
|
elseif (LADYBIRD_AUDIO_BACKEND STREQUAL "OBOE")
|
2024-08-28 12:08:38 +02:00
|
|
|
target_sources(LibMedia PRIVATE Audio/PlaybackStreamOboe.cpp)
|
|
|
|
|
find_package(oboe REQUIRED CONFIG)
|
|
|
|
|
target_link_libraries(LibMedia PRIVATE log oboe::oboe)
|
2024-12-23 13:37:52 -05:00
|
|
|
elseif (DEFINED LADYBIRD_AUDIO_BACKEND)
|
|
|
|
|
message(FATAL_ERROR "Please update ${CMAKE_CURRENT_LIST_FILE} for audio backend ${LADYBIRD_AUDIO_BACKEND}")
|
2025-02-17 13:15:46 -07:00
|
|
|
else ()
|
|
|
|
|
target_sources(LibMedia PRIVATE Audio/PlaybackStream.cpp)
|
2024-08-28 12:08:38 +02:00
|
|
|
endif()
|