Browse Source

medialib: Use new setProgress API

pipelines/135724
Hugo Beauzée-Luyssen 6 years ago
parent
commit
d6418bfbeb
  1. 2
      application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt
  2. 2
      buildsystem/compile-medialibrary.sh
  3. 4
      medialibrary/jni/AndroidMediaLibrary.cpp
  4. 2
      medialibrary/jni/AndroidMediaLibrary.h
  5. 6
      medialibrary/jni/medialibrary.cpp
  6. 5
      medialibrary/jni/utils.cpp
  7. 6
      medialibrary/src/org/videolan/medialibrary/MedialibraryImpl.java
  8. 2
      medialibrary/src/org/videolan/medialibrary/interfaces/Medialibrary.java
  9. 4
      medialibrary/src/org/videolan/medialibrary/stubs/StubMedialibrary.java

2
application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt

@ -871,7 +871,7 @@ class PlaylistManager(val service: PlaybackService) : MediaWrapperList.EventList
if (internalMedia != null) id = internalMedia.id
}
}
if (id != 0L) medialibrary.increasePlayCount(id)
if (id != 0L) medialibrary.setProgress(id, 1.0f)
}
}

2
buildsystem/compile-medialibrary.sh

@ -4,7 +4,7 @@
# ARGUMENTS #
#############
MEDIALIBRARY_HASH=03031cd1605ab07f61738b71a782831ea31c36b5
MEDIALIBRARY_HASH=1755e7abfa80f53129050c9d39f5494025a9a854
while [ $# -gt 0 ]; do
case $1 in

4
medialibrary/jni/AndroidMediaLibrary.cpp

@ -177,11 +177,11 @@ AndroidMediaLibrary::forceRescan()
}
bool
AndroidMediaLibrary::increasePlayCount(int64_t mediaId)
AndroidMediaLibrary::setProgress(int64_t mediaId, float progress)
{
auto media = p_ml->media(mediaId);
if (media != nullptr)
return media->increasePlayCount();
return media->setProgress( progress );
return false;
}

2
medialibrary/jni/AndroidMediaLibrary.h

@ -51,7 +51,7 @@ public:
void reload( const std::string& entryPoint );
void forceParserRetry();
void forceRescan();
bool increasePlayCount(int64_t mediaId);
bool setProgress(int64_t mediaId, float progress);
void removeMediaFromHistory(int64_t mediaId);
/* History */
std::vector<medialibrary::MediaPtr> lastMediaPlayed();

6
medialibrary/jni/medialibrary.cpp

@ -240,9 +240,9 @@ forceRescan(JNIEnv* env, jobject thiz)
}
jboolean
increasePlayCount(JNIEnv* env, jobject thiz, jlong id)
setProgress(JNIEnv* env, jobject thiz, jlong id, jfloat progress)
{
return MediaLibrary_getInstance(env, thiz)->increasePlayCount((int64_t)id);
return MediaLibrary_getInstance(env, thiz)->setProgress((int64_t)id, (float)progress);
}
void
@ -2119,7 +2119,7 @@ static JNINativeMethod methods[] = {
{"nativeReload", "(Ljava/lang/String;)V", (void*)reloadEntryPoint },
{"nativeForceParserRetry", "()V", (void*)forceParserRetry },
{"nativeForceRescan", "()V", (void*)forceRescan },
{"nativeIncreasePlayCount", "(J)Z", (void*)increasePlayCount },
{"nativeSetProgress", "(JF)Z", (void*)setProgress },
{"nativeSetMediaUpdatedCbFlag", "(I)V", (void*)setMediaUpdatedCbFlag },
{"nativeSetMediaAddedCbFlag", "(I)V", (void*)setMediaAddedCbFlag },
{"nativePlaylistCreate", "(Ljava/lang/String;)Lorg/videolan/medialibrary/interfaces/media/Playlist;", (void*)playlistCreate },

5
medialibrary/jni/utils.cpp

@ -62,10 +62,7 @@ mediaToMediaWrapper(JNIEnv* env, fields *fields, medialibrary::MediaPtr const& m
unsigned int width = hasVideoTracks ? videoTracks.at(0)->width() : 0;
unsigned int height = hasVideoTracks ? videoTracks.at(0)->height() : 0;
int64_t duration = mediaPtr->duration();
const medialibrary::IMetadata& progressMeta = mediaPtr->metadata( medialibrary::IMedia::MetadataType::Progress );
int64_t progress = progressMeta.isSet() ? progressMeta.asInt() : 0;
// workaround to convert legacy percentage progress
if (progress != 0 && progress < 100) progress = duration * ( progress / 100.0 );
const float progress = mediaPtr->progress() * duration;
const medialibrary::IMetadata& seenMeta = mediaPtr->metadata( medialibrary::IMedia::MetadataType::Seen );
int64_t seen = seenMeta.isSet() ? seenMeta.asInt() : 0;

6
medialibrary/src/org/videolan/medialibrary/MedialibraryImpl.java

@ -466,8 +466,8 @@ public class MedialibraryImpl extends Medialibrary {
return mIsInitiated ? nativeGetFoldersCount(type) : 0;
}
public boolean increasePlayCount(long mediaId) {
return mIsInitiated && mediaId > 0 && nativeIncreasePlayCount(mediaId);
public boolean setProgress(long mediaId, float progress) {
return mIsInitiated && mediaId > 0 && nativeSetProgress(mediaId, progress);
}
// If media is not in ML, find it with its path
@ -641,7 +641,7 @@ public class MedialibraryImpl extends Medialibrary {
private native void nativeReload(String entryPoint);
private native void nativeForceParserRetry();
private native void nativeForceRescan();
private native boolean nativeIncreasePlayCount(long mediaId);
private native boolean nativeSetProgress(long mediaId, float progress);
private native void nativeSetMediaUpdatedCbFlag(int flags);
private native void nativeSetMediaAddedCbFlag(int flags);
private native SearchAggregate nativeSearch(String query);

2
medialibrary/src/org/videolan/medialibrary/interfaces/Medialibrary.java

@ -747,7 +747,7 @@ abstract public class Medialibrary {
abstract public MediaWrapper addStream(String mrl, String title);
abstract public Folder[] getFolders(int type, int sort, boolean desc, int nbItems, int offset);
abstract public int getFoldersCount(int type);
abstract public boolean increasePlayCount(long mediaId);
abstract public boolean setProgress(long mediaId, float progress);
abstract public SearchAggregate search(String query);
abstract public MediaWrapper[] searchMedia(String query);
abstract public MediaWrapper[] searchMedia(String query, int sort, boolean desc, int nbItems, int offset);

4
medialibrary/src/org/videolan/medialibrary/stubs/StubMedialibrary.java

@ -389,7 +389,7 @@ public class StubMedialibrary extends Medialibrary {
media = addStream(mrl, title);
}
dt.mHistory.add(media);
increasePlayCount(media.getId());
setProgress(media.getId(), 1.0f);
return true;
}
@ -482,7 +482,7 @@ public class StubMedialibrary extends Medialibrary {
public void requestThumbnail(long id) {}
public boolean increasePlayCount(long mediaId) {
public boolean setProgress(long mediaId, float progress) {
for (int i = 0; i < dt.mVideoMediaWrappers.size(); i++) {
MediaWrapper media = dt.mVideoMediaWrappers.get(i);
if (media.getId() == mediaId) {

Loading…
Cancel
Save