[preview] Fix import warning, improve error handling
This commit is contained in:
@@ -23,6 +23,7 @@ from functools import partial
|
|||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
from urllib.parse import unquote
|
from urllib.parse import unquote
|
||||||
|
|
||||||
|
import gi
|
||||||
from gi.repository import Gtk
|
from gi.repository import Gtk
|
||||||
from gi.repository import Gdk
|
from gi.repository import Gdk
|
||||||
from gi.repository import GdkPixbuf
|
from gi.repository import GdkPixbuf
|
||||||
@@ -30,6 +31,8 @@ from gi.repository import Gio
|
|||||||
from gi.repository import GLib
|
from gi.repository import GLib
|
||||||
from gi.repository import Soup
|
from gi.repository import Soup
|
||||||
try:
|
try:
|
||||||
|
gi.require_version('Gst', '1.0')
|
||||||
|
gi.require_version('GstPbutils', '1.0')
|
||||||
from gi.repository import Gst
|
from gi.repository import Gst
|
||||||
from gi.repository import GstPbutils
|
from gi.repository import GstPbutils
|
||||||
except Exception:
|
except Exception:
|
||||||
@@ -738,9 +741,14 @@ class UrlImagePreviewPlugin(GajimPlugin):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def _contains_audio_streams(file_path):
|
def _contains_audio_streams(file_path):
|
||||||
# Check if it is really an audio file
|
# Check if it is really an audio file
|
||||||
|
has_audio = False
|
||||||
discoverer = GstPbutils.Discoverer()
|
discoverer = GstPbutils.Discoverer()
|
||||||
info = discoverer.discover_uri(f'file://{str(file_path)}')
|
try:
|
||||||
has_audio = bool(info.get_audio_streams())
|
info = discoverer.discover_uri(f'file://{str(file_path)}')
|
||||||
|
has_audio = bool(info.get_audio_streams())
|
||||||
|
except GLib.Error as err:
|
||||||
|
log.error('Error while reading %s: %s', str(file_path), err)
|
||||||
|
return False
|
||||||
if not has_audio:
|
if not has_audio:
|
||||||
log.warning('File does not contain audio stream: %s',
|
log.warning('File does not contain audio stream: %s',
|
||||||
str(file_path))
|
str(file_path))
|
||||||
|
|||||||
Reference in New Issue
Block a user