diff options
author | Minje Ahn <minje.ahn@samsung.com> | 2017-03-23 16:17:07 +0900 |
---|---|---|
committer | Minje Ahn <minje.ahn@samsung.com> | 2017-03-23 16:58:22 +0900 |
commit | 5a6acda04f250137ea29acb3578617e664a2be45 (patch) | |
tree | 7c7a510151fc52c8f6492ce0517aef44479d2a37 | |
parent | 70ddc935b8ea8424c1c5d9e12adbc4f809f0e6da (diff) | |
download | media-content-5a6acda04f250137ea29acb3578617e664a2be45.tar.gz media-content-5a6acda04f250137ea29acb3578617e664a2be45.tar.bz2 media-content-5a6acda04f250137ea29acb3578617e664a2be45.zip |
Modified to consider media type when creating instancesubmit/tizen/20170324.075758accepted/tizen/unified/20170324.111506accepted/tizen/tv/20170324.111442accepted/tizen/mobile/20170324.111432accepted/tizen/ivi/20170324.111457accepted/tizen/common/20170324.122936
Change-Id: I14edacf41b87766f166a618da3827021418db839
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
9 files changed, 263 insertions, 10 deletions
diff --git a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Album.cs b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Album.cs index 08ce8f8..63715b2 100755 --- a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Album.cs +++ b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Album.cs @@ -177,7 +177,37 @@ namespace Tizen.Content.MediaContent MediaContentValidator.ThrowIfError( Interop.MediaInformation.Clone(out newHandle, mediaHandle), "Failed to clone"); - mediaContents.Add(new MediaInformation(newHandle)); + MediaContentType type; + Interop.MediaInformation.GetMediaType(newHandle, out type); + if (type == MediaContentType.Image) + { + Interop.ImageInformation.SafeImageInformationHandle imageInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetImage(mediaHandle, out imageInfo), "Failed to get image information"); + + mediaContents.Add(new ImageInformation(imageInfo, newHandle)); + } + else if ((type == MediaContentType.Music) || (type == MediaContentType.Sound)) + { + Interop.AudioInformation.SafeAudioInformationHandle audioInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetAudio(mediaHandle, out audioInfo), "Failed to get audio information"); + + mediaContents.Add(new AudioInformation(audioInfo, newHandle)); + } + else if (type == MediaContentType.Video) + { + Interop.VideoInformation.SafeVideoInformationHandle videoInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetVideo(mediaHandle, out videoInfo), "Failed to get video information"); + + mediaContents.Add(new VideoInformation(videoInfo, newHandle)); + } + else if (type == MediaContentType.Others) + { + mediaContents.Add(new MediaInformation(newHandle)); + } + return true; }; MediaContentValidator.ThrowIfError( diff --git a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/ContentDatabase.cs b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/ContentDatabase.cs index 11f38d8..89bda70 100755 --- a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/ContentDatabase.cs +++ b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/ContentDatabase.cs @@ -190,7 +190,39 @@ namespace Tizen.Content.MediaContent MediaContentValidator.ThrowIfError( Interop.MediaInformation.GetMediaFromDB(id, out mediaHandle), "Failed to get information"); - return new MediaInformation(mediaHandle); + MediaContentType type; + MediaInformation res; + Interop.MediaInformation.GetMediaType(mediaHandle, out type); + if (type == MediaContentType.Image) + { + Interop.ImageInformation.SafeImageInformationHandle imageInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetImage(mediaHandle.DangerousGetHandle(), out imageInfo), "Failed to get image information"); + + res = new ImageInformation(imageInfo, mediaHandle); + } + else if ((type == MediaContentType.Music) || (type == MediaContentType.Sound)) + { + Interop.AudioInformation.SafeAudioInformationHandle audioInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetAudio(mediaHandle.DangerousGetHandle(), out audioInfo), "Failed to get audio information"); + + res = new AudioInformation(audioInfo, mediaHandle); + } + else if (type == MediaContentType.Video) + { + Interop.VideoInformation.SafeVideoInformationHandle videoInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetVideo(mediaHandle.DangerousGetHandle(), out videoInfo), "Failed to get video information"); + + res = new VideoInformation(videoInfo, mediaHandle); + } + else + { + res = new MediaInformation(mediaHandle); + } + + return res; } /// <summary> @@ -608,21 +640,30 @@ namespace Tizen.Content.MediaContent { MediaContentValidator.ThrowIfError( Interop.ImageInformation.UpdateToDB(((ImageInformation)mediaInfo).ImageHandle), "Failed to update DB"); + + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.UpdateToDB(mediaInfo.MediaHandle), "Failed to update DB"); } else if (type == typeof(AudioInformation)) { MediaContentValidator.ThrowIfError( Interop.AudioInformation.UpdateToDB(((AudioInformation)mediaInfo).AudioHandle), "Failed to update DB"); + + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.UpdateToDB(mediaInfo.MediaHandle), "Failed to update DB"); } else if (type == typeof(VideoInformation)) { MediaContentValidator.ThrowIfError( Interop.VideoInformation.UpdateToDB(((VideoInformation)mediaInfo).VideoHandle), "Failed to update DB"); + + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.UpdateToDB(mediaInfo.MediaHandle), "Failed to update DB"); } else if (type == typeof(MediaInformation)) { MediaContentValidator.ThrowIfError( - Interop.MediaInformation.UpdateToDB(((MediaInformation)mediaInfo).MediaHandle), "Failed to update DB"); + Interop.MediaInformation.UpdateToDB(mediaInfo.MediaHandle), "Failed to update DB"); } else { diff --git a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/ContentManager.cs b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/ContentManager.cs index c5280ce..84539aa 100755 --- a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/ContentManager.cs +++ b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/ContentManager.cs @@ -87,7 +87,39 @@ namespace Tizen.Content.MediaContent MediaContentValidator.ThrowIfError( Interop.MediaInformation.Insert(filePath, out mediaInformationHandle), "Failed to Insert MediaInformation to DB"); - return new MediaInformation(mediaInformationHandle); + MediaContentType type; + MediaInformation res; + Interop.MediaInformation.GetMediaType(mediaInformationHandle, out type); + if (type == MediaContentType.Image) + { + Interop.ImageInformation.SafeImageInformationHandle imageInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetImage(mediaInformationHandle.DangerousGetHandle(), out imageInfo), "Failed to get image information"); + + res = new ImageInformation(imageInfo, mediaInformationHandle); + } + else if ((type == MediaContentType.Music) || (type == MediaContentType.Sound)) + { + Interop.AudioInformation.SafeAudioInformationHandle audioInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetAudio(mediaInformationHandle.DangerousGetHandle(), out audioInfo), "Failed to get audio information"); + + res = new AudioInformation(audioInfo, mediaInformationHandle); + } + else if (type == MediaContentType.Video) + { + Interop.VideoInformation.SafeVideoInformationHandle videoInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetVideo(mediaInformationHandle.DangerousGetHandle(), out videoInfo), "Failed to get video information"); + + res = new VideoInformation(videoInfo, mediaInformationHandle); + } + else + { + res = new MediaInformation(mediaInformationHandle); + } + + return res; } /// <summary> diff --git a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Group.cs b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Group.cs index 6872031..e70aee3 100755 --- a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Group.cs +++ b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Group.cs @@ -93,7 +93,37 @@ namespace Tizen.Content.MediaContent MediaContentValidator.ThrowIfError( Interop.MediaInformation.Clone(out newHandle, mediaHandle), "Failed to clone MediaInformation instance"); - mediaContents.Add(new MediaInformation(newHandle)); + MediaContentType type; + Interop.MediaInformation.GetMediaType(newHandle, out type); + if (type == MediaContentType.Image) + { + Interop.ImageInformation.SafeImageInformationHandle imageInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetImage(mediaHandle, out imageInfo), "Failed to get image information"); + + mediaContents.Add(new ImageInformation(imageInfo, newHandle)); + } + else if ((type == MediaContentType.Music) || (type == MediaContentType.Sound)) + { + Interop.AudioInformation.SafeAudioInformationHandle audioInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetAudio(mediaHandle, out audioInfo), "Failed to get audio information"); + + mediaContents.Add(new AudioInformation(audioInfo, newHandle)); + } + else if (type == MediaContentType.Video) + { + Interop.VideoInformation.SafeVideoInformationHandle videoInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetVideo(mediaHandle, out videoInfo), "Failed to get video information"); + + mediaContents.Add(new VideoInformation(videoInfo, newHandle)); + } + else if (type == MediaContentType.Others) + { + mediaContents.Add(new MediaInformation(newHandle)); + } + return true; }; MediaContentValidator.ThrowIfError( diff --git a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/MediaFolder.cs b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/MediaFolder.cs index cacd6ac..f232588 100755 --- a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/MediaFolder.cs +++ b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/MediaFolder.cs @@ -279,7 +279,37 @@ namespace Tizen.Content.MediaContent MediaContentValidator.ThrowIfError( Interop.MediaInformation.Clone(out newHandle, mediaHandle), "Failed to clone"); - mediaContents.Add(new MediaInformation(newHandle)); + MediaContentType type; + Interop.MediaInformation.GetMediaType(newHandle, out type); + if (type == MediaContentType.Image) + { + Interop.ImageInformation.SafeImageInformationHandle imageInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetImage(mediaHandle, out imageInfo), "Failed to get image information"); + + mediaContents.Add(new ImageInformation(imageInfo, newHandle)); + } + else if ((type == MediaContentType.Music) || (type == MediaContentType.Sound)) + { + Interop.AudioInformation.SafeAudioInformationHandle audioInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetAudio(mediaHandle, out audioInfo), "Failed to get audio information"); + + mediaContents.Add(new AudioInformation(audioInfo, newHandle)); + } + else if (type == MediaContentType.Video) + { + Interop.VideoInformation.SafeVideoInformationHandle videoInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetVideo(mediaHandle, out videoInfo), "Failed to get video information"); + + mediaContents.Add(new VideoInformation(videoInfo, newHandle)); + } + else if (type == MediaContentType.Others) + { + mediaContents.Add(new MediaInformation(newHandle)); + } + return true; }; MediaContentValidator.ThrowIfError( diff --git a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/PlayList.cs b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/PlayList.cs index 5c12d86..9019938 100755 --- a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/PlayList.cs +++ b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/PlayList.cs @@ -288,7 +288,37 @@ namespace Tizen.Content.MediaContent MediaContentValidator.ThrowIfError( Interop.MediaInformation.Clone(out newHandle, mediaHandle), "Failed to clone media"); - mediaContents.Add(new MediaInformation(newHandle)); + MediaContentType type; + Interop.MediaInformation.GetMediaType(newHandle, out type); + if (type == MediaContentType.Image) + { + Interop.ImageInformation.SafeImageInformationHandle imageInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetImage(mediaHandle, out imageInfo), "Failed to get image information"); + + mediaContents.Add(new ImageInformation(imageInfo, newHandle)); + } + else if ((type == MediaContentType.Music) || (type == MediaContentType.Sound)) + { + Interop.AudioInformation.SafeAudioInformationHandle audioInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetAudio(mediaHandle, out audioInfo), "Failed to get audio information"); + + mediaContents.Add(new AudioInformation(audioInfo, newHandle)); + } + else if (type == MediaContentType.Video) + { + Interop.VideoInformation.SafeVideoInformationHandle videoInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetVideo(mediaHandle, out videoInfo), "Failed to get video information"); + + mediaContents.Add(new VideoInformation(videoInfo, newHandle)); + } + else if (type == MediaContentType.Others) + { + mediaContents.Add(new MediaInformation(newHandle)); + } + return true; }; MediaContentValidator.ThrowIfError( diff --git a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Storage.cs b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Storage.cs index 401c1ab..7ec5a60 100755 --- a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Storage.cs +++ b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Storage.cs @@ -172,7 +172,37 @@ namespace Tizen.Content.MediaContent MediaContentValidator.ThrowIfError( Interop.MediaInformation.Clone(out newHandle, mediaHandle), "Failed to clone media"); - mediaContents.Add(new MediaInformation(newHandle)); + MediaContentType type; + Interop.MediaInformation.GetMediaType(newHandle, out type); + if (type == MediaContentType.Image) + { + Interop.ImageInformation.SafeImageInformationHandle imageInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetImage(mediaHandle, out imageInfo), "Failed to get image information"); + + mediaContents.Add(new ImageInformation(imageInfo, newHandle)); + } + else if ((type == MediaContentType.Music) || (type == MediaContentType.Sound)) + { + Interop.AudioInformation.SafeAudioInformationHandle audioInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetAudio(mediaHandle, out audioInfo), "Failed to get audio information"); + + mediaContents.Add(new AudioInformation(audioInfo, newHandle)); + } + else if (type == MediaContentType.Video) + { + Interop.VideoInformation.SafeVideoInformationHandle videoInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetVideo(mediaHandle, out videoInfo), "Failed to get video information"); + + mediaContents.Add(new VideoInformation(videoInfo, newHandle)); + } + else if (type == MediaContentType.Others) + { + mediaContents.Add(new MediaInformation(newHandle)); + } + return true; }; MediaContentValidator.ThrowIfError( diff --git a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Tag.cs b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Tag.cs index 5797558..2d7e164 100755 --- a/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Tag.cs +++ b/Tizen.Content.MediaContent/Tizen.Content.MediaContent/Tag.cs @@ -168,7 +168,37 @@ namespace Tizen.Content.MediaContent MediaContentValidator.ThrowIfError( Interop.MediaInformation.Clone(out newHandle, mediaHandle), "Failed to clone media"); - mediaContents.Add(new MediaInformation(newHandle)); + MediaContentType type; + Interop.MediaInformation.GetMediaType(newHandle, out type); + if (type == MediaContentType.Image) + { + Interop.ImageInformation.SafeImageInformationHandle imageInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetImage(mediaHandle, out imageInfo), "Failed to get image information"); + + mediaContents.Add(new ImageInformation(imageInfo, newHandle)); + } + else if ((type == MediaContentType.Music) || (type == MediaContentType.Sound)) + { + Interop.AudioInformation.SafeAudioInformationHandle audioInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetAudio(mediaHandle, out audioInfo), "Failed to get audio information"); + + mediaContents.Add(new AudioInformation(audioInfo, newHandle)); + } + else if (type == MediaContentType.Video) + { + Interop.VideoInformation.SafeVideoInformationHandle videoInfo; + MediaContentValidator.ThrowIfError( + Interop.MediaInformation.GetVideo(mediaHandle, out videoInfo), "Failed to get video information"); + + mediaContents.Add(new VideoInformation(videoInfo, newHandle)); + } + else if (type == MediaContentType.Others) + { + mediaContents.Add(new MediaInformation(newHandle)); + } + return true; }; diff --git a/packaging/csapi-media-content.spec b/packaging/csapi-media-content.spec index 85cda39..94bc7fe 100755 --- a/packaging/csapi-media-content.spec +++ b/packaging/csapi-media-content.spec @@ -1,6 +1,6 @@ Name: csapi-media-content Summary: Tizen Media Content API for C# -Version: 1.0.12 +Version: 1.0.13 Release: 1 Group: Development/Libraries License: Apache-2.0 |