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 ...@@ -286,11 +286,21 @@ namespace slideshow
xPropSet.set( mxShape, uno::UNO_QUERY ); xPropSet.set( mxShape, uno::UNO_QUERY );
// create Player // create Player
if( xPropSet.is() && if (xPropSet.is())
( xPropSet->getPropertyValue(
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "MediaURL" ) ) ) >>=aURL ) )
{ {
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 // create visible object
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
// defines ------------------------------------------------------------------ // defines ------------------------------------------------------------------
#define OWN_ATTR_VALUE_START 3900 #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( Name ) #Name
#define CREATERESMGR( Name ) ResMgr::CreateResMgr( CREATERESMGR_NAME( Name ) ) #define CREATERESMGR( Name ) ResMgr::CreateResMgr( CREATERESMGR_NAME( Name ) )
......
...@@ -187,7 +187,11 @@ ...@@ -187,7 +187,11 @@
#define OWN_ATTR_STYLE (OWN_ATTR_VALUE_START+87) #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# // #FontWork#
#define FONTWORK_PROPERTIES \ #define FONTWORK_PROPERTIES \
......
...@@ -761,7 +761,8 @@ SfxItemPropertyMapEntry* ImplGetSvxMediaShapePropertyMap() ...@@ -761,7 +761,8 @@ SfxItemPropertyMapEntry* ImplGetSvxMediaShapePropertyMap()
// #i68101# // #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_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(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} {0,0,0,0,0,0}
}; };
......
...@@ -955,7 +955,8 @@ bool SvxMediaShape::getPropertyValueImpl( const ::rtl::OUString& rName, const Sf ...@@ -955,7 +955,8 @@ bool SvxMediaShape::getPropertyValueImpl( const ::rtl::OUString& rName, const Sf
{ {
if ( ((pProperty->nWID >= OWN_ATTR_MEDIA_URL) && if ( ((pProperty->nWID >= OWN_ATTR_MEDIA_URL) &&
(pProperty->nWID <= OWN_ATTR_MEDIA_ZOOM)) (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() ); SdrMediaObj* pMedia = static_cast< SdrMediaObj* >( mpObj.get() );
const ::avmedia::MediaItem aItem( pMedia->getMediaProperties() ); const ::avmedia::MediaItem aItem( pMedia->getMediaProperties() );
...@@ -982,10 +983,14 @@ bool SvxMediaShape::getPropertyValueImpl( const ::rtl::OUString& rName, const Sf ...@@ -982,10 +983,14 @@ bool SvxMediaShape::getPropertyValueImpl( const ::rtl::OUString& rName, const Sf
rValue <<= aItem.getZoom(); rValue <<= aItem.getZoom();
break; break;
case OWN_ATTR_GRAPHIC_STREAM: case OWN_ATTR_MEDIA_STREAM:
rValue <<= pMedia->GetInputStream(); rValue <<= pMedia->GetInputStream();
break; break;
case OWN_ATTR_MEDIA_TEMPFILEURL:
rValue <<= aItem.getTempURL();
break;
default: default:
OSL_FAIL("SvxMediaShape::getPropertyValueImpl(), unknown property!"); 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