From: hsgwon Date: Mon, 15 Apr 2019 06:12:33 +0000 (+0900) Subject: [MediaController] Remove useless method call and fix the bug of foreach method (... X-Git-Tag: submit/tizen_5.0/20190416.005202~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=426564be5088fa07fada75d9fd0ed1cacbf8ea1f;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git [MediaController] Remove useless method call and fix the bug of foreach method (#790) --- diff --git a/src/Tizen.Multimedia.Remoting/Interop/Interop.MediaControllerPlaylist.cs b/src/Tizen.Multimedia.Remoting/Interop/Interop.MediaControllerPlaylist.cs index c20eb6f07..0b05dee9b 100644 --- a/src/Tizen.Multimedia.Remoting/Interop/Interop.MediaControllerPlaylist.cs +++ b/src/Tizen.Multimedia.Remoting/Interop/Interop.MediaControllerPlaylist.cs @@ -31,7 +31,7 @@ internal static partial class Interop IntPtr handle, IntPtr userData); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] - internal delegate void PlaylistCallback(IntPtr handle, IntPtr userData); + internal delegate bool PlaylistCallback(IntPtr handle, IntPtr userData); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] internal delegate bool PlaylistItemCallback(string index, IntPtr handle, IntPtr userData); diff --git a/src/Tizen.Multimedia.Remoting/MediaController/MediaControlPlaylist.cs b/src/Tizen.Multimedia.Remoting/MediaController/MediaControlPlaylist.cs index d5cecdc8c..e636e974b 100644 --- a/src/Tizen.Multimedia.Remoting/MediaController/MediaControlPlaylist.cs +++ b/src/Tizen.Multimedia.Remoting/MediaController/MediaControlPlaylist.cs @@ -190,8 +190,6 @@ namespace Tizen.Multimedia.Remoting { AddMetadata(data.Key, data.Value); } - - MediaControlServer.SavePlaylist(Handle); } /// diff --git a/src/Tizen.Multimedia.Remoting/MediaController/MediaController.cs b/src/Tizen.Multimedia.Remoting/MediaController/MediaController.cs index 3ca8b4749..10b46822b 100644 --- a/src/Tizen.Multimedia.Remoting/MediaController/MediaController.cs +++ b/src/Tizen.Multimedia.Remoting/MediaController/MediaController.cs @@ -189,13 +189,29 @@ namespace Tizen.Multimedia.Remoting var playlists = new List(); + Exception caught = null; + NativePlaylist.PlaylistCallback playlistCallback = (handle, _) => { - playlists.Add(new MediaControlPlaylist(handle)); + try + { + playlists.Add(new MediaControlPlaylist(handle)); + return true; + } + catch (Exception e) + { + caught = e; + return false; + } }; NativePlaylist.ForeachServerPlaylist(Manager.Handle, ServerAppId, playlistCallback, IntPtr.Zero) .ThrowIfError("Failed to get playlist."); + if (caught != null) + { + throw caught; + } + return playlists.AsReadOnly(); }