[Android] Set filename in media from medialibrary
Geoffrey Métais
git at videolan.org
Tue Sep 11 18:28:40 CEST 2018
vlc-android | branch: master | Geoffrey Métais <geoffrey.metais at gmail.com> | Tue Sep 11 18:23:55 2018 +0200| [1b748c1a2b6c039cb55956bce0d2aef881af65e5] | committer: Geoffrey Métais
Set filename in media from medialibrary
> https://code.videolan.org/videolan/vlc-android/commit/1b748c1a2b6c039cb55956bce0d2aef881af65e5
---
medialibrary/jni/medialibrary.cpp | 2 +-
medialibrary/jni/utils.cpp | 5 +++--
medialibrary/src/org/videolan/medialibrary/media/MediaWrapper.java | 5 +++--
3 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/medialibrary/jni/medialibrary.cpp b/medialibrary/jni/medialibrary.cpp
index 9e483a48b..61f2f9509 100644
--- a/medialibrary/jni/medialibrary.cpp
+++ b/medialibrary/jni/medialibrary.cpp
@@ -1797,7 +1797,7 @@ int MediaLibraryJNI_OnLoad(JavaVM *vm, JNIEnv* env)
GET_ID(GetMethodID,
ml_fields.MediaWrapper.initID,
ml_fields.MediaWrapper.clazz,
- "<init>", "(JLjava/lang/String;JJILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;IIIIJJZ)V");
+ "<init>", "(JLjava/lang/String;JJILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;IIIIJJZ)V");
GET_CLASS(ml_fields.HistoryItem.clazz,
"org/videolan/medialibrary/media/HistoryItem", true);
diff --git a/medialibrary/jni/utils.cpp b/medialibrary/jni/utils.cpp
index 7b6188fdc..421707d06 100644
--- a/medialibrary/jni/utils.cpp
+++ b/medialibrary/jni/utils.cpp
@@ -35,7 +35,7 @@ mediaToMediaWrapper(JNIEnv* env, fields *fields, medialibrary::MediaPtr const& m
break;
}
medialibrary::AlbumTrackPtr p_albumTrack = mediaPtr->albumTrack();
- jstring artist = NULL, genre = NULL, album = NULL, albumArtist = NULL, mrl = NULL, title = NULL, thumbnail = NULL;
+ jstring artist = NULL, genre = NULL, album = NULL, albumArtist = NULL, mrl = NULL, title = NULL, thumbnail = NULL, filename = NULL;
jint trackNumber = 0, discNumber = 0;
if (p_albumTrack)
{
@@ -60,6 +60,7 @@ mediaToMediaWrapper(JNIEnv* env, fields *fields, medialibrary::MediaPtr const& m
const medialibrary::IMetadata& metaSpuTrack = mediaPtr->metadata(medialibrary::IMedia::MetadataType::SubtitleTrack);
jint spuTrack = metaSpuTrack.isSet() ? metaSpuTrack.integer() : -2;
title = mediaPtr->title().empty() ? NULL : env->NewStringUTF(mediaPtr->title().c_str());
+ filename = mediaPtr->fileName().empty() ? NULL : env->NewStringUTF(mediaPtr->fileName().c_str());
mrl = env->NewStringUTF(files.at(0)->mrl().c_str());
thumbnail = mediaPtr->thumbnail().empty() ? NULL : env->NewStringUTF(mediaPtr->thumbnail().c_str());
std::vector<medialibrary::VideoTrackPtr> videoTracks = mediaPtr->videoTracks()->all();
@@ -76,7 +77,7 @@ mediaToMediaWrapper(JNIEnv* env, fields *fields, medialibrary::MediaPtr const& m
jobject item = env->NewObject(fields->MediaWrapper.clazz, fields->MediaWrapper.initID,
(jlong) mediaPtr->id(), mrl,(jlong) progress, (jlong) duration, type,
- title, artist, genre, album,
+ title, filename, artist, genre, album,
albumArtist, width, height, thumbnail,
audioTrack, spuTrack, trackNumber, discNumber, (jlong) files.at(0)->lastModificationDate(), seen, mediaPtr->isThumbnailGenerated());
if (artist != NULL)
diff --git a/medialibrary/src/org/videolan/medialibrary/media/MediaWrapper.java b/medialibrary/src/org/videolan/medialibrary/media/MediaWrapper.java
index 3e1751bb4..ee6cb5007 100644
--- a/medialibrary/src/org/videolan/medialibrary/media/MediaWrapper.java
+++ b/medialibrary/src/org/videolan/medialibrary/media/MediaWrapper.java
@@ -126,8 +126,8 @@ public class MediaWrapper extends MediaLibraryItem implements Parcelable {
* @param mrl Should not be null.
*/
public MediaWrapper(long id, String mrl, long time, long length, int type, String title,
- String artist, String genre, String album, String albumArtist, int width,
- int height, String artworkURL, int audio, int spu, int trackNumber,
+ String filename, String artist, String genre, String album, String albumArtist,
+ int width, int height, String artworkURL, int audio, int spu, int trackNumber,
int discNumber, long lastModified, long seen, boolean isThumbnailGenerated) {
super();
if (TextUtils.isEmpty(mrl)) throw new IllegalArgumentException("uri was empty");
@@ -136,6 +136,7 @@ public class MediaWrapper extends MediaLibraryItem implements Parcelable {
mrl = "file://"+mrl;
mUri = Uri.parse(mrl);
mId = id;
+ mFilename = filename;
init(time, length, type, null, title, artist, genre, album, albumArtist, width, height,
artworkURL != null ? VLCUtil.UriFromMrl(artworkURL).getPath() : null, audio, spu,
trackNumber, discNumber, lastModified, seen, null);
More information about the Android
mailing list