Prechádzať zdrojové kódy

- use streamInfo.StartPositionTicks if provided over userdata.PlaybackPositionTicks when creating the Samsung Bookmark Info

marius 5 rokov pred
rodič
commit
3deeca43a1
1 zmenil súbory, kde vykonal 5 pridanie a 4 odobranie
  1. 5 4
      Emby.Dlna/Didl/DidlBuilder.cs

+ 5 - 4
Emby.Dlna/Didl/DidlBuilder.cs

@@ -158,7 +158,7 @@ namespace Emby.Dlna.Didl
 
             AddGeneralProperties(item, null, context, writer, filter);
 
-            AddSamsungBookmarkInfo(item, user, writer);
+            AddSamsungBookmarkInfo(item, user, writer, streamInfo);
 
             // refID?
             // storeAttribute(itemNode, object, ClassProperties.REF_ID, false);
@@ -581,7 +581,7 @@ namespace Emby.Dlna.Didl
             writer.WriteFullEndElement();
         }
 
-        private void AddSamsungBookmarkInfo(BaseItem item, User user, XmlWriter writer)
+        private void AddSamsungBookmarkInfo(BaseItem item, User user, XmlWriter writer, StreamInfo streamInfo)
         {
             if (!item.SupportsPositionTicksResume || item is Folder)
             {
@@ -605,10 +605,11 @@ namespace Emby.Dlna.Didl
             }
 
             var userdata = _userDataManager.GetUserData(user, item);
+            var playbackPositionTicks = (streamInfo != null && streamInfo.StartPositionTicks > 0) ? streamInfo.StartPositionTicks : userdata.PlaybackPositionTicks;
 
-            if (userdata.PlaybackPositionTicks > 0)
+            if (playbackPositionTicks > 0)
             {
-                var elementValue = string.Format("BM={0}", Convert.ToInt32(TimeSpan.FromTicks(userdata.PlaybackPositionTicks).TotalSeconds).ToString(_usCulture));
+                var elementValue = string.Format("BM={0}", Convert.ToInt32(TimeSpan.FromTicks(playbackPositionTicks).TotalSeconds).ToString(_usCulture));
                 AddValue(writer, "sec", "dcmInfo", elementValue, secAttribute.Value);
             }
         }