Search in sources :

Example 1 with DatabaseProvider

use of androidx.media3.database.DatabaseProvider in project ExoPlayer by google.

the class ProgressiveDownloaderTest method createDownloadCache.

@Before
public void createDownloadCache() throws Exception {
    testDir = Util.createTempFile(ApplicationProvider.getApplicationContext(), "ProgressiveDownloaderTest");
    assertThat(testDir.delete()).isTrue();
    assertThat(testDir.mkdirs()).isTrue();
    DatabaseProvider databaseProvider = TestUtil.getInMemoryDatabaseProvider();
    downloadCache = new SimpleCache(testDir, new NoOpCacheEvictor(), databaseProvider);
}
Also used : DatabaseProvider(com.google.android.exoplayer2.database.DatabaseProvider) SimpleCache(com.google.android.exoplayer2.upstream.cache.SimpleCache) NoOpCacheEvictor(com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor) Before(org.junit.Before)

Example 2 with DatabaseProvider

use of androidx.media3.database.DatabaseProvider in project Slide by ccrama.

the class Reddit method onCreate.

@Override
public void onCreate() {
    super.onCreate();
    mApplication = this;
    // LeakCanary.install(this);
    if (ProcessPhoenix.isPhoenixProcess(this)) {
        return;
    }
    final File dir;
    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) && getExternalCacheDir() != null) {
        dir = new File(getExternalCacheDir() + File.separator + "video-cache");
    } else {
        dir = new File(getCacheDir() + File.separator + "video-cache");
    }
    LeastRecentlyUsedCacheEvictor evictor = new LeastRecentlyUsedCacheEvictor(256 * 1024 * 1024);
    DatabaseProvider databaseProvider = new ExoDatabaseProvider(getAppContext());
    // 256MB
    videoCache = new SimpleCache(dir, evictor, databaseProvider);
    UpgradeUtil.upgrade(getApplicationContext());
    doMainStuff();
}
Also used : DatabaseProvider(com.google.android.exoplayer2.database.DatabaseProvider) ExoDatabaseProvider(com.google.android.exoplayer2.database.ExoDatabaseProvider) SimpleCache(com.google.android.exoplayer2.upstream.cache.SimpleCache) LeastRecentlyUsedCacheEvictor(com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor) ExoDatabaseProvider(com.google.android.exoplayer2.database.ExoDatabaseProvider) File(java.io.File)

Example 3 with DatabaseProvider

use of androidx.media3.database.DatabaseProvider in project react-native-track-player by react-native-kit.

the class LocalPlayback method initialize.

@Override
public void initialize() {
    if (cacheMaxSize > 0) {
        File cacheDir = new File(context.getCacheDir(), "TrackPlayer");
        DatabaseProvider db = new ExoDatabaseProvider(context);
        cache = new SimpleCache(cacheDir, new LeastRecentlyUsedCacheEvictor(cacheMaxSize), db);
    } else {
        cache = null;
    }
    super.initialize();
    resetQueue();
}
Also used : ExoDatabaseProvider(com.google.android.exoplayer2.database.ExoDatabaseProvider) DatabaseProvider(com.google.android.exoplayer2.database.DatabaseProvider) SimpleCache(com.google.android.exoplayer2.upstream.cache.SimpleCache) LeastRecentlyUsedCacheEvictor(com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor) ExoDatabaseProvider(com.google.android.exoplayer2.database.ExoDatabaseProvider) File(java.io.File)

Example 4 with DatabaseProvider

use of androidx.media3.database.DatabaseProvider in project media by androidx.

the class CacheFileMetadataIndex method delete.

/**
 * Deletes index data for the specified cache.
 *
 * <p>This method may be slow and shouldn't normally be called on the main thread.
 *
 * @param databaseProvider Provides the database in which the index is stored.
 * @param uid The cache UID.
 * @throws DatabaseIOException If an error occurs deleting the index data.
 */
@WorkerThread
public static void delete(DatabaseProvider databaseProvider, long uid) throws DatabaseIOException {
    String hexUid = Long.toHexString(uid);
    try {
        String tableName = getTableName(hexUid);
        SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
        writableDatabase.beginTransactionNonExclusive();
        try {
            VersionTable.removeVersion(writableDatabase, VersionTable.FEATURE_CACHE_FILE_METADATA, hexUid);
            dropTable(writableDatabase, tableName);
            writableDatabase.setTransactionSuccessful();
        } finally {
            writableDatabase.endTransaction();
        }
    } catch (SQLException e) {
        throw new DatabaseIOException(e);
    }
}
Also used : SQLiteDatabase(android.database.sqlite.SQLiteDatabase) SQLException(android.database.SQLException) DatabaseIOException(androidx.media3.database.DatabaseIOException) WorkerThread(androidx.annotation.WorkerThread)

Example 5 with DatabaseProvider

use of androidx.media3.database.DatabaseProvider in project media by androidx.

the class ProgressiveDownloaderTest method createDownloadCache.

@Before
public void createDownloadCache() throws Exception {
    testDir = Util.createTempFile(ApplicationProvider.getApplicationContext(), "ProgressiveDownloaderTest");
    assertThat(testDir.delete()).isTrue();
    assertThat(testDir.mkdirs()).isTrue();
    DatabaseProvider databaseProvider = TestUtil.getInMemoryDatabaseProvider();
    downloadCache = new SimpleCache(testDir, new NoOpCacheEvictor(), databaseProvider);
}
Also used : DatabaseProvider(androidx.media3.database.DatabaseProvider) SimpleCache(androidx.media3.datasource.cache.SimpleCache) NoOpCacheEvictor(androidx.media3.datasource.cache.NoOpCacheEvictor) Before(org.junit.Before)

Aggregations

DatabaseProvider (com.google.android.exoplayer2.database.DatabaseProvider)3 SimpleCache (com.google.android.exoplayer2.upstream.cache.SimpleCache)3 File (java.io.File)3 Before (org.junit.Before)3 Test (org.junit.Test)3 SQLiteDatabase (android.database.sqlite.SQLiteDatabase)2 StandaloneDatabaseProvider (androidx.media3.database.StandaloneDatabaseProvider)2 DownloadBuilder (androidx.media3.test.utils.DownloadBuilder)2 ExoDatabaseProvider (com.google.android.exoplayer2.database.ExoDatabaseProvider)2 LeastRecentlyUsedCacheEvictor (com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor)2 Context (android.content.Context)1 SQLException (android.database.SQLException)1 WorkerThread (androidx.annotation.WorkerThread)1 StreamKey (androidx.media3.common.StreamKey)1 DatabaseIOException (androidx.media3.database.DatabaseIOException)1 DatabaseProvider (androidx.media3.database.DatabaseProvider)1 NoOpCacheEvictor (androidx.media3.datasource.cache.NoOpCacheEvictor)1 SimpleCache (androidx.media3.datasource.cache.SimpleCache)1 NoOpCacheEvictor (com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor)1 FileOutputStream (java.io.FileOutputStream)1