Kaydet (Commit) 5924454a authored tarafından Michael Stahl's avatar Michael Stahl

slideshow: play back embedded media:

The slideshow uses the UNO API to access the drawing objects,
so add a property to get the temp file URL from the media object.
üst 41927a4f
......@@ -286,11 +286,21 @@ namespace slideshow
xPropSet.set( mxShape, uno::UNO_QUERY );
// create Player
if( xPropSet.is() &&
( xPropSet->getPropertyValue(
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "MediaURL" ) ) ) >>=aURL ) )
if (xPropSet.is())
{
implInitializeMediaPlayer( aURL );
if ((xPropSet->getPropertyValue(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
"PrivateTempFileURL"))) >>= aURL)
&& aURL.getLength())
{
implInitializeMediaPlayer( aURL );
}
else if (xPropSet->getPropertyValue(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
"MediaURL"))) >>= aURL)
{
implInitializeMediaPlayer( aURL );
}
}
// create visible object
......
......@@ -31,7 +31,7 @@
// defines ------------------------------------------------------------------
#define OWN_ATTR_VALUE_START 3900
#define OWN_ATTR_VALUE_END 3988
#define OWN_ATTR_VALUE_END 3990
#define CREATERESMGR_NAME( Name ) #Name
#define CREATERESMGR( Name ) ResMgr::CreateResMgr( CREATERESMGR_NAME( Name ) )
......
......@@ -187,7 +187,11 @@
#define OWN_ATTR_STYLE (OWN_ATTR_VALUE_START+87)
#define OWN_ATTR_EDGE_POLYPOLYGONBEZIER (OWN_ATTR_VALUE_START+88) // maximum is OWN_ATTR_VALUE_START+88, see svl/inc/svl/solar.hrc
#define OWN_ATTR_EDGE_POLYPOLYGONBEZIER (OWN_ATTR_VALUE_START+88)
#define OWN_ATTR_MEDIA_STREAM (OWN_ATTR_VALUE_START+89)
#define OWN_ATTR_MEDIA_TEMPFILEURL (OWN_ATTR_VALUE_START+90)
// ATTENTION: maximum is OWN_ATTR_VALUE_START+90, see svl/inc/svl/solar.hrc
// #FontWork#
#define FONTWORK_PROPERTIES \
......
......@@ -761,7 +761,8 @@ SfxItemPropertyMapEntry* ImplGetSvxMediaShapePropertyMap()
// #i68101#
{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE), OWN_ATTR_MISC_OBJ_TITLE , &::getCppuType((const ::rtl::OUString*)0), 0, 0},
{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION), OWN_ATTR_MISC_OBJ_DESCRIPTION , &::getCppuType((const ::rtl::OUString*)0), 0, 0},
{MAP_CHAR_LEN("PrivateStream"), OWN_ATTR_GRAPHIC_STREAM, &::com::sun::star::io::XInputStream::static_type(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
{MAP_CHAR_LEN("PrivateStream"), OWN_ATTR_MEDIA_STREAM, &::com::sun::star::io::XInputStream::static_type(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
{MAP_CHAR_LEN("PrivateTempFileURL"), OWN_ATTR_MEDIA_TEMPFILEURL, &::getCppuType((const ::rtl::OUString*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
{0,0,0,0,0,0}
};
......
......@@ -955,7 +955,8 @@ bool SvxMediaShape::getPropertyValueImpl( const ::rtl::OUString& rName, const Sf
{
if ( ((pProperty->nWID >= OWN_ATTR_MEDIA_URL) &&
(pProperty->nWID <= OWN_ATTR_MEDIA_ZOOM))
|| (pProperty->nWID == OWN_ATTR_GRAPHIC_STREAM))
|| (pProperty->nWID == OWN_ATTR_MEDIA_STREAM)
|| (pProperty->nWID == OWN_ATTR_MEDIA_TEMPFILEURL))
{
SdrMediaObj* pMedia = static_cast< SdrMediaObj* >( mpObj.get() );
const ::avmedia::MediaItem aItem( pMedia->getMediaProperties() );
......@@ -982,10 +983,14 @@ bool SvxMediaShape::getPropertyValueImpl( const ::rtl::OUString& rName, const Sf
rValue <<= aItem.getZoom();
break;
case OWN_ATTR_GRAPHIC_STREAM:
case OWN_ATTR_MEDIA_STREAM:
rValue <<= pMedia->GetInputStream();
break;
case OWN_ATTR_MEDIA_TEMPFILEURL:
rValue <<= aItem.getTempURL();
break;
default:
OSL_FAIL("SvxMediaShape::getPropertyValueImpl(), unknown property!");
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment