Search in sources :

Example 6 with IMedia

use of org.videolan.libvlc.interfaces.IMedia in project vlc-android by videolan.

the class MediaList method insertMediaFromEvent.

private synchronized IMedia insertMediaFromEvent(int index) {
    for (int i = mCount - 1; i >= index; --i) mMediaArray.put(i + 1, mMediaArray.valueAt(i));
    mCount++;
    final IMedia media = new Media(this, index);
    mMediaArray.put(index, media);
    return media;
}
Also used : IMedia(org.videolan.libvlc.interfaces.IMedia) IMedia(org.videolan.libvlc.interfaces.IMedia)

Example 7 with IMedia

use of org.videolan.libvlc.interfaces.IMedia in project vlc-android by videolan.

the class MediaList method onEventNative.

@Override
protected synchronized Event onEventNative(int eventType, long arg1, long arg2, float argf1, @Nullable String args1) {
    if (mLocked)
        throw new IllegalStateException("already locked from event callback");
    mLocked = true;
    Event event = null;
    int index;
    switch(eventType) {
        case Event.ItemAdded:
            index = (int) arg1;
            if (index != -1) {
                final IMedia media = insertMediaFromEvent(index);
                event = new Event(eventType, media, true, index);
            }
            break;
        case Event.ItemDeleted:
            index = (int) arg1;
            if (index != -1) {
                final IMedia media = removeMediaFromEvent(index);
                event = new Event(eventType, media, false, index);
            }
            break;
        case Event.EndReached:
            event = new Event(eventType, null, false, -1);
            break;
    }
    mLocked = false;
    return event;
}
Also used : IMedia(org.videolan.libvlc.interfaces.IMedia)

Example 8 with IMedia

use of org.videolan.libvlc.interfaces.IMedia in project vlc-android by videolan.

the class MediaList method removeMediaFromEvent.

private synchronized IMedia removeMediaFromEvent(int index) {
    mCount--;
    final IMedia media = mMediaArray.get(index);
    if (media != null)
        media.release();
    for (int i = index; i < mCount; ++i) {
        mMediaArray.put(i, mMediaArray.valueAt(i + 1));
    }
    return media;
}
Also used : IMedia(org.videolan.libvlc.interfaces.IMedia)

Example 9 with IMedia

use of org.videolan.libvlc.interfaces.IMedia in project vlc-android by videolan.

the class MediaWrapper method updateMeta.

public void updateMeta(MediaPlayer mediaPlayer) {
    if ((!TextUtils.isEmpty(mTitle) && TextUtils.isEmpty(mDisplayTitle)) || (mDisplayTitle != null && !mDisplayTitle.equals(mTitle)))
        mDisplayTitle = mTitle;
    final IMedia media = mediaPlayer.getMedia();
    if (media == null)
        return;
    updateMeta(media);
    media.release();
}
Also used : IMedia(org.videolan.libvlc.interfaces.IMedia)

Example 10 with IMedia

use of org.videolan.libvlc.interfaces.IMedia in project vlc-android by videolan.

the class MediaBrowser method browse.

/**
 * Browse to the specified local path starting with '/'.
 *
 * @param path
 * @param flags see {@link MediaBrowser.Flag}
 */
@MainThread
public void browse(String path, int flags) {
    final IMedia media = mFactory.getFromLocalPath(mILibVlc, path);
    browse(media, flags);
    media.release();
}
Also used : IMedia(org.videolan.libvlc.interfaces.IMedia) MainThread(androidx.annotation.MainThread)

Aggregations

IMedia (org.videolan.libvlc.interfaces.IMedia)11 MainThread (androidx.annotation.MainThread)3