summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinje Ahn <minje.ahn@samsung.com>2017-03-23 16:17:07 +0900
committerMinje Ahn <minje.ahn@samsung.com>2017-03-23 16:58:22 +0900
commit5a6acda04f250137ea29acb3578617e664a2be45 (patch)
tree7c7a510151fc52c8f6492ce0517aef44479d2a37
parent70ddc935b8ea8424c1c5d9e12adbc4f809f0e6da (diff)
downloadmedia-content-5a6acda04f250137ea29acb3578617e664a2be45.tar.gz
media-content-5a6acda04f250137ea29acb3578617e664a2be45.tar.bz2
media-content-5a6acda04f250137ea29acb3578617e664a2be45.zip
Change-Id: I14edacf41b87766f166a618da3827021418db839 Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
-rwxr-xr-xTizen.Content.MediaContent/Tizen.Content.MediaContent/Album.cs32
-rwxr-xr-xTizen.Content.MediaContent/Tizen.Content.MediaContent/ContentDatabase.cs45
-rwxr-xr-xTizen.Content.MediaContent/Tizen.Content.MediaContent/ContentManager.cs34
-rwxr-xr-xTizen.Content.MediaContent/Tizen.Content.MediaContent/Group.cs32
-rwxr-xr-xTizen.Content.MediaContent/Tizen.Content.MediaContent/MediaFolder.cs32
-rwxr-xr-xTizen.Content.MediaContent/Tizen.Content.MediaContent/PlayList.cs32
-rwxr-xr-xTizen.Content.MediaContent/Tizen.Content.MediaContent/Storage.cs32
-rwxr-xr-xTizen.Content.MediaContent/Tizen.Content.MediaContent/Tag.cs32
-rwxr-xr-xpackaging/csapi-media-content.spec2
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