Widevine sample player

For bug 4245169

Change-Id: Ie110d5603f19cd54878d2c4506e8ffad11207f10
This commit is contained in:
Gloria Wang
2011-04-06 10:28:00 -07:00
parent 1445a4288d
commit fc6f6134e9
46 changed files with 2011 additions and 0 deletions

View File

@@ -0,0 +1,97 @@
/*
* (c)Copyright 2011 Widevine Technologies, Inc
*/
package com.widevine.demo;
import java.io.File;
import java.net.MalformedURLException;
import java.util.ArrayList;
import android.os.Bundle;
public class StreamingActivity extends AssetActivity {
private String contentPage;
@Override
public void onCreate(Bundle savedInstanceState) {
contentPage = SettingsActivity.CONTENT_PAGE;
super.onCreate(savedInstanceState);
}
@Override
public void onResume() {
super.onResume();
if (!contentPage.equals(SettingsActivity.CONTENT_PAGE)) {
contentPage = SettingsActivity.CONTENT_PAGE;
initialize();
}
}
protected boolean setUpAssetPages() {
pages = new ArrayList<AssetsPage>();
if (contentPage.contains(".htm")) {
ArrayList<AssetItem> assets = getStreamingClipsHttp();
if (assets == null || assets.size() == 0)
return false;
for (int i = 0; i < assets.size();) {
AssetsPage page = new AssetsPage();
for (int j = 0; j < AssetsPage.MAX_ITEMS && i < assets.size(); j++, i++) {
page.addPage(assets.get(i).getAssetPath(), assets.get(i).getImagePath(), assets
.get(i).getTitle());
}
pages.add(page);
}
} else {
ArrayList<AssetDescriptor> assets = getStreamingClipsXml();
if (assets == null || assets.size() == 0)
return false;
for (int i = 0; i < assets.size();) {
AssetsPage page = new AssetsPage();
for (int j = 0; j < AssetsPage.MAX_ITEMS && i < assets.size(); j++, i++) {
page.addPage(assets.get(i).getUri(), assets.get(i).getThumbnail(), assets
.get(i).getTitle());
}
pages.add(page);
}
}
return true;
}
private ArrayList<AssetDescriptor> getStreamingClipsXml() {
try {
File file = new File(contentPage);
if (file.exists()) {
ConfigXMLParser parser = new ConfigXMLParser(file.toURL());
ArrayList<AssetDescriptor> assets = (ArrayList<AssetDescriptor>) parser.parse();
return assets;
} else {
return new ArrayList<AssetDescriptor>();
}
} catch (MalformedURLException e) {
return new ArrayList<AssetDescriptor>();
}
}
private ArrayList<AssetItem> getStreamingClipsHttp() {
HttpParser parser = new HttpParser(contentPage);
parser.start();
try {
parser.join();
} catch (InterruptedException e) {
}
return parser.getAssets();
}
}