/// <summary>
/// Handle a fetch request for media textures
/// </summary>
/// <param name="omr"></param>
/// <returns></returns>
protected string HandleObjectMediaRequest(ObjectMediaRequest omr)
{
UUID primId = omr.PrimID;
ISceneChildEntity part = m_scene.GetSceneObjectPart (primId);
if (null == part)
{
m_log.WarnFormat(
"[MOAP]: Received a GET ObjectMediaRequest for prim {0} but this doesn't exist in region {1}",
primId, m_scene.RegionInfo.RegionName);
return string.Empty;
}
ObjectMediaResponse resp = new ObjectMediaResponse();
resp.PrimID = primId;
resp.FaceMedia = new OpenSim.Framework.PrimitiveBaseShape.MediaList().ToArray();
resp.Version = "x-mv:0000000001/00000000-0000-0000-0000-000000000000";
if (null != part.Shape.Media)
{
lock (part.Shape.Media)
resp.FaceMedia = part.Shape.Media.ToArray();
resp.Version = part.MediaUrl;
}
string rawResp = OSDParser.SerializeLLSDXmlString(resp.Serialize());
// m_log.DebugFormat("[MOAP]: Got HandleObjectMediaRequestGet raw response is [{0}]", rawResp);
return rawResp;
}