mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-09 10:20:07 +00:00
Merge branch 'drop-ffmpeg' into 'main'
Drop ffmpeg support Closes #5581 See merge request GNOME/gtk!6872
This commit is contained in:
commit
3a26e29795
@ -234,7 +234,7 @@ By default, GTK will try to build with support for the Vulkan graphics
|
||||
API in addition to cairo and OpenGL. This option can be used to explicitly
|
||||
control whether Vulkan should be used.
|
||||
|
||||
### `media-gstreamer` and `media-ffmpeg`
|
||||
### `media-gstreamer`
|
||||
|
||||
By default, GTK will try to build the gstreamer backend for
|
||||
media playback support. These options can be used to explicitly
|
||||
|
@ -126,8 +126,8 @@ available on the system.
|
||||
### `GTK_MEDIA`
|
||||
|
||||
Specifies what backend to load for [class@Gtk.MediaFile]. The possible values
|
||||
depend on what options GTK was built with, and can include 'gstreamer',
|
||||
'ffmpeg' and 'none'. If set to 'none', media playback will be unavailable.
|
||||
depend on what options GTK was built with, and can include 'gstreamer'
|
||||
and 'none'. If set to 'none', media playback will be unavailable.
|
||||
The special value 'help' can be used to obtain a list of all supported
|
||||
media backends.
|
||||
|
||||
|
@ -37,7 +37,7 @@
|
||||
* GTK provides a GIO extension point for `GtkMediaFile` implementations
|
||||
* to allow for external implementations using various media frameworks.
|
||||
*
|
||||
* GTK itself includes implementations using GStreamer and ffmpeg.
|
||||
* GTK itself includes an implementation using GStreamer.
|
||||
*/
|
||||
|
||||
typedef struct _GtkMediaFilePrivate GtkMediaFilePrivate;
|
||||
|
@ -29,11 +29,6 @@ option('macos-backend',
|
||||
# For distros: GTK guarantees support for WebM video (VP8 and VP9), so a supported build
|
||||
# should provide that.
|
||||
|
||||
option('media-ffmpeg',
|
||||
type: 'feature',
|
||||
value: 'disabled',
|
||||
description : 'Build the experimental ffmpeg media backend')
|
||||
|
||||
option('media-gstreamer',
|
||||
type: 'feature',
|
||||
value: 'enabled',
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,30 +0,0 @@
|
||||
/*
|
||||
* Copyright © 2018 Benjamin Otte
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Authors: Benjamin Otte <otte@gnome.org>
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <gtk/gtkmediafile.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GTK_TYPE_FF_MEDIA_FILE (gtk_ff_media_file_get_type ())
|
||||
|
||||
G_DECLARE_FINAL_TYPE (GtkFfMediaFile, gtk_ff_media_file, GTK, FF_MEDIA_FILE, GtkMediaFile)
|
||||
|
||||
G_END_DECLS
|
@ -5,40 +5,6 @@ media_backends = []
|
||||
extra_c_args = ['-DGTK_COMPILATION']
|
||||
extra_c_args += common_cflags
|
||||
|
||||
ffmpeg_opt = get_option('media-ffmpeg')
|
||||
ffmpeg_versions = {
|
||||
'libavfilter': '>= 6.47.100',
|
||||
'libavformat': '>= 57.41.100',
|
||||
'libavcodec': '>= 57.48.101',
|
||||
'libavdevice': '>= 57.48.101',
|
||||
'libavutil': '>= 55.28.100',
|
||||
'libswresample': '>= 3.9.100',
|
||||
'libswscale': '>= 4.6.100',
|
||||
}
|
||||
ffmpeg_deps = []
|
||||
ffmpeg_found = true
|
||||
foreach name, version : ffmpeg_versions
|
||||
dep = dependency(name, version: version, required: ffmpeg_opt)
|
||||
ffmpeg_deps += dep
|
||||
if not dep.found()
|
||||
ffmpeg_found = false
|
||||
break
|
||||
endif
|
||||
endforeach
|
||||
|
||||
if ffmpeg_found
|
||||
media_backends += 'ffmpeg'
|
||||
cdata.set('HAVE_FFMPEG', 1)
|
||||
shared_module('media-ffmpeg',
|
||||
sources: 'gtkffmediafile.c',
|
||||
c_args: extra_c_args,
|
||||
dependencies: [ libgtk_dep, ffmpeg_deps ],
|
||||
name_suffix: module_suffix,
|
||||
install_dir: media_install_dir,
|
||||
install: true,
|
||||
)
|
||||
endif
|
||||
|
||||
gstplayer_dep = dependency('gstreamer-player-1.0', version: '>= 1.12.3',
|
||||
required: get_option('media-gstreamer'))
|
||||
gstgl_dep = dependency('gstreamer-gl-1.0', version: '>= 1.12.3',
|
||||
|
@ -413,7 +413,6 @@ gtk/ui/gtkscalebutton.ui
|
||||
gtk/ui/gtksidebarrow.ui
|
||||
gtk/ui/gtkstatusbar.ui
|
||||
gtk/ui/gtkvolumebutton.ui
|
||||
modules/media/gtkffmediafile.c
|
||||
modules/media/gtkgstsink.c
|
||||
modules/printbackends/gtkprintbackendcpdb.c
|
||||
modules/printbackends/gtkprintbackendcups.c
|
||||
|
Loading…
Reference in New Issue
Block a user