43947c66258c5c95ac16dae7b6f203ec66edbf70
[WebKit-https.git] / Source / cmake / GStreamerChecks.cmake
1 if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
2     set(GSTREAMER_COMPONENTS app pbutils)
3     SET_AND_EXPOSE_TO_BUILD(USE_GSTREAMER TRUE)
4     if (ENABLE_VIDEO)
5         list(APPEND GSTREAMER_COMPONENTS video mpegts tag gl)
6     endif ()
7
8     if (ENABLE_WEB_AUDIO)
9         list(APPEND GSTREAMER_COMPONENTS audio fft)
10         SET_AND_EXPOSE_TO_BUILD(USE_WEBAUDIO_GSTREAMER TRUE)
11     endif ()
12
13     find_package(GStreamer 1.8.3 REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
14
15     if (ENABLE_WEB_AUDIO)
16         if (NOT PC_GSTREAMER_AUDIO_FOUND OR NOT PC_GSTREAMER_FFT_FOUND)
17             message(FATAL_ERROR "WebAudio requires the audio and fft GStreamer libraries. Please check your gst-plugins-base installation.")
18         else ()
19             SET_AND_EXPOSE_TO_BUILD(USE_WEBAUDIO_GSTREAMER TRUE)
20         endif ()
21     endif ()
22
23     if (ENABLE_VIDEO)
24         if (NOT PC_GSTREAMER_APP_FOUND OR NOT PC_GSTREAMER_PBUTILS_FOUND OR NOT PC_GSTREAMER_TAG_FOUND OR NOT PC_GSTREAMER_VIDEO_FOUND)
25             message(FATAL_ERROR "Video playback requires the following GStreamer libraries: app, pbutils, tag, video. Please check your gst-plugins-base installation.")
26         endif ()
27     endif ()
28
29     if (USE_GSTREAMER_MPEGTS)
30         if (NOT PC_GSTREAMER_MPEGTS_FOUND)
31             message(FATAL_ERROR "GStreamer MPEG-TS is needed for USE_GSTREAMER_MPEGTS.")
32         endif ()
33     endif ()
34
35     if (USE_GSTREAMER_GL)
36         if (PC_GSTREAMER_VERSION VERSION_LESS "1.10")
37             message(FATAL_ERROR "GStreamer 1.10 is needed for USE_GSTREAMER_GL.")
38         else ()
39             if (NOT PC_GSTREAMER_GL_FOUND)
40                 message(FATAL_ERROR "GStreamerGL is needed for USE_GSTREAMER_GL.")
41             endif ()
42         endif ()
43     endif ()
44
45     SET_AND_EXPOSE_TO_BUILD(USE_GSTREAMER TRUE)
46 endif ()
47
48 if (ENABLE_MEDIA_SOURCE)
49     if (PC_GSTREAMER_VERSION VERSION_LESS "1.14")
50         message(FATAL_ERROR "GStreamer 1.14 is needed for ENABLE_MEDIA_SOURCE.")
51     endif ()
52 endif ()
53
54 if (ENABLE_MEDIA_STREAM OR ENABLE_WEB_RTC)
55     if (PC_GSTREAMER_VERSION VERSION_LESS "1.10")
56         SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC FALSE)
57         SET_AND_EXPOSE_TO_BUILD(WEBRTC_WEBKIT_BUILD FALSE)
58     else ()
59         SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC TRUE)
60         SET_AND_EXPOSE_TO_BUILD(WEBRTC_WEBKIT_BUILD TRUE)
61     endif ()
62 else ()
63     SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC FALSE)
64     SET_AND_EXPOSE_TO_BUILD(WEBRTC_WEBKIT_BUILD FALSE)
65 endif ()