789a737ac9
There are some CrashReports in 7.6 which have
DeleteItemOnIdle on the stack, but there is nothing
reproducable. So I took a look...
I first thought it's a MCGR regression, due to classes
on the stack. But the Item involved is just random, can
happen with any Item.
Then I thought it may have to do with ITEM refactorings,
but it happens with DeleteItemOnIdle involved, so also
not the case. I already saw DeleteItemOnIdle when doing
these and qualified as 'hack' in the way. already
It is only on Windows and DeleteItemOnIdle is involved.
This again (took a deeper look now) is an old hack to
keep an SfxPoolItem 'alive' for some 'time'. For that,
it triggers an async reschedule which then deletes the
Item when being called. If the Item will be used after
that is pure coincidence - seems to work in most cases.
It seems as if for Windows the timing slightly changed
for some scenarios, so a reschedule is too early. This
can happen with this hack anytime.
DeleteItemOnIdle is used in scenarios where SfxPoolItem*
is e.g. returned, but is *not* anchored, so e.g. not
member of an SfxItemSet. Or in short: Lifetime is not
safe.
DeleteItemOnIdle exists since 1st import, but was
changed to AsyncEvent ca. 4 months ago (see
|
||
---|---|---|
.. | ||
inc | ||
source | ||
util | ||
AllLangMoTarget_avmedia.mk | ||
IwyuFilter_avmedia.yaml | ||
Library_avmedia.mk | ||
Library_avmediagst.mk | ||
Library_avmediagtk.mk | ||
Library_avmediaMacAVF.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.