[MacPorts] #69640: webkit2-gtk: +x11 error: GStreamerGL is needed for USE_GSTREAMER_GL
MacPorts
noreply at macports.org
Mon Apr 15 10:17:13 UTC 2024
#69640: webkit2-gtk: +x11 error: GStreamerGL is needed for USE_GSTREAMER_GL
-------------------------------------------------+-------------------------
Reporter: JonnyTech | Owner: dbevans
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.9.1
Resolution: | Keywords: sonoma
Port: webkit2-gtk, gstreamer1-gst- |
plugins-base |
-------------------------------------------------+-------------------------
Comment (by christophecvr):
What needs to be changed in the gstreamer paranoia plugin is this function
which is located in file ext/cdparanoia/gstcdparanoiasrc.c
line 122 - 298 .
{{{
static gboolean
gst_cd_paranoia_src_open (GstAudioCdSrc * audiocdsrc, const gchar *
device)
{
GstCdParanoiaSrc *src = GST_CD_PARANOIA_SRC (audiocdsrc);
gint i, cache_size;
GST_DEBUG_OBJECT (src, "trying to open device %s (generic-device=%s)
...",
device, GST_STR_NULL (src->generic_device));
/* find the device */
if (src->generic_device != NULL) {
src->d = cdda_identify_scsi (src->generic_device, device, FALSE,
NULL);
} else {
if (device != NULL) {
src->d = cdda_identify (device, FALSE, NULL);
} else {
src->d = cdda_identify ("/dev/cdrom", FALSE, NULL);
}
}
/* fail if the device couldn't be found */
if (src->d == NULL)
goto no_device;
/* set verbosity mode */
cdda_verbose_set (src->d, CDDA_MESSAGE_FORGETIT, CDDA_MESSAGE_FORGETIT);
/* open the disc */
if (cdda_open (src->d))
goto open_failed;
GST_INFO_OBJECT (src, "set read speed to %d", src->read_speed);
cdda_speed_set (src->d, src->read_speed);
for (i = 1; i < src->d->tracks + 1; i++) {
GstAudioCdSrcTrack track = { 0, };
track.num = i;
track.is_audio = IS_AUDIO (src->d, i - 1);
track.start = cdda_track_firstsector (src->d, i);
track.end = cdda_track_lastsector (src->d, i);
track.tags = NULL;
gst_audio_cd_src_add_track (GST_AUDIO_CD_SRC (src), &track);
}
/* create the paranoia struct and set it up */
src->p = paranoia_init (src->d);
if (src->p == NULL)
goto init_failed;
paranoia_modeset (src->p, src->paranoia_mode);
GST_INFO_OBJECT (src, "set paranoia mode to 0x%02x",
src->paranoia_mode);
if (src->search_overlap != -1) {
paranoia_overlapset (src->p, src->search_overlap);
GST_INFO_OBJECT (src, "search overlap set to %u",
src->search_overlap);
}
cache_size = src->cache_size;
if (cache_size == -1) {
/* if paranoia mode is low (the default), assume we're doing playback
*/
if (src->paranoia_mode <= PARANOIA_MODE_FRAGMENT)
cache_size = 150;
else
cache_size = paranoia_cachemodel_size (src->p, -1);
}
paranoia_cachemodel_size (src->p, cache_size);
GST_INFO_OBJECT (src, "set cachemodel size to %u", cache_size);
src->next_sector = -1;
return TRUE;
/* ERRORS */
no_device:
{
GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
(_("Could not open CD device for reading.")), ("cdda_identify
failed"));
return FALSE;
}
open_failed:
{
GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
(_("Could not open CD device for reading.")), ("cdda_open
failed"));
cdda_close (src->d);
src->d = NULL;
return FALSE;
}
init_failed:
{
GST_ELEMENT_ERROR (src, LIBRARY, INIT,
("failed to initialize paranoia"), ("failed to initialize
paranoia"));
return FALSE;
}
}
}}}
to use
in cdparanoia-III-10.2/interface/scan_devices.c (patched version)
the procedure added for mac to open cd:
{{{
#ifdef __APPLE__
cdrom_drive *cdda_find_a_cdrom(int messagedest,char **messages){
cdrom_drive *d = calloc(1, sizeof(cdrom_drive));
if(!d)
return NULL;
d->interface = IOKIT_INTERFACE;
return d;
}
#else
}}}
But unfortunately I do not know how.
--
Ticket URL: <https://trac.macports.org/ticket/69640#comment:40>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list