a99575f04f
If the media doesn't have video, then don't try to grab a frame, but stop waiting for the `QVideoSink::videoFrameChanged` signal to be emitted in `QtFrameGrabber::grabFrame`. Don't call `QMediaPlayer::hasVideo` while the media is still being loaded, as the result is only valid once loading the media has been finished (`false` is returned otherwise even if the media file contains video), s. the platform implementation in qtmultimedia's `QFFmpegMediaPlayer::setMedia`, which loads the media in a separate thread: Once the media has been loaded, `QFFmpegMediaPlayer::setMediaAsync` calls `QPlatformMediaPlayer::videoAvailableChanged` to specify whether video is available. With this commit in place, opening an Impress presentation that contains an audio file (like attachment 194504 from tdf#145735) now shows an "audio icon" as placeholder as expected and the application exits properly on close, rather than blocking as it's still waiting for a video frame. Change-Id: I5448a9f7396d4c419d76a2400e3f2a1ef52a7e85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168305 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins |
||
---|---|---|
.. | ||
inc | ||
source | ||
util | ||
AllLangMoTarget_avmedia.mk | ||
CustomTarget_avmediaqt6_moc.mk | ||
IwyuFilter_avmedia.yaml | ||
Library_avmedia.mk | ||
Library_avmediagst.mk | ||
Library_avmediagtk.mk | ||
Library_avmediaMacAVF.mk | ||
Library_avmediaqt6.mk | ||
Library_avmediawin.mk | ||
Makefile | ||
Module_avmedia.mk | ||
README.md |
Audio / video Media Implementation.
Provides per-platform implementations of multimedia functionality. Currently no stream API is provided, only a URI based one, so streaming has to be wrapped around it via temp files.
Also provides (in source/framework/mediacontrol.cxx
) an implementation
of the graphical media playback control that appears in the toolbar /
mediaobject bar when media is selected under the .uno:AVMediaToolBox
item.
avmedia / gstreamer
The avmedia
component is implementation of manager service defined in
offapi/com/sun/star/media/
. Radek has added implementation based on
gstreamer so that we can add audio and video files into impress
presentation on Linux with gstreamer.
The implementation is pretty straightforward, sometimes it has problems when gstreamer installation is incomplete.
In the beginning the media files were not embedded, Thorsten added support for that later.
Future Works
it might be worthwhile to revamp the avmedia UI.