Commit 692f4152 by arodriguez Committed by Oliver Woodman

Support for UDP data source

parent d3967b55
...@@ -55,6 +55,7 @@ public final class DefaultDataSource implements DataSource { ...@@ -55,6 +55,7 @@ public final class DefaultDataSource implements DataSource {
private static final String SCHEME_ASSET = "asset"; private static final String SCHEME_ASSET = "asset";
private static final String SCHEME_CONTENT = "content"; private static final String SCHEME_CONTENT = "content";
private static final String SCHEME_RTMP = "rtmp"; private static final String SCHEME_RTMP = "rtmp";
private static final String SCHEME_UDP = "udp";
private static final String SCHEME_RAW = RawResourceDataSource.RAW_RESOURCE_SCHEME; private static final String SCHEME_RAW = RawResourceDataSource.RAW_RESOURCE_SCHEME;
private final Context context; private final Context context;
...@@ -62,12 +63,13 @@ public final class DefaultDataSource implements DataSource { ...@@ -62,12 +63,13 @@ public final class DefaultDataSource implements DataSource {
private final DataSource baseDataSource; private final DataSource baseDataSource;
// Lazily initialized. // Lazily initialized.
private @Nullable DataSource fileDataSource; @Nullable private DataSource fileDataSource;
private @Nullable DataSource assetDataSource; @Nullable private DataSource assetDataSource;
private @Nullable DataSource contentDataSource; @Nullable private DataSource contentDataSource;
private @Nullable DataSource rtmpDataSource; @Nullable private DataSource rtmpDataSource;
private @Nullable DataSource dataSchemeDataSource; @Nullable private DataSource udpDataSource;
private @Nullable DataSource rawResourceDataSource; @Nullable private DataSource dataSchemeDataSource;
@Nullable private DataSource rawResourceDataSource;
private @Nullable DataSource dataSource; private @Nullable DataSource dataSource;
...@@ -218,6 +220,7 @@ public final class DefaultDataSource implements DataSource { ...@@ -218,6 +220,7 @@ public final class DefaultDataSource implements DataSource {
maybeAddListenerToDataSource(assetDataSource, transferListener); maybeAddListenerToDataSource(assetDataSource, transferListener);
maybeAddListenerToDataSource(contentDataSource, transferListener); maybeAddListenerToDataSource(contentDataSource, transferListener);
maybeAddListenerToDataSource(rtmpDataSource, transferListener); maybeAddListenerToDataSource(rtmpDataSource, transferListener);
maybeAddListenerToDataSource(udpDataSource, transferListener);
maybeAddListenerToDataSource(dataSchemeDataSource, transferListener); maybeAddListenerToDataSource(dataSchemeDataSource, transferListener);
maybeAddListenerToDataSource(rawResourceDataSource, transferListener); maybeAddListenerToDataSource(rawResourceDataSource, transferListener);
} }
...@@ -240,6 +243,8 @@ public final class DefaultDataSource implements DataSource { ...@@ -240,6 +243,8 @@ public final class DefaultDataSource implements DataSource {
dataSource = getContentDataSource(); dataSource = getContentDataSource();
} else if (SCHEME_RTMP.equals(scheme)) { } else if (SCHEME_RTMP.equals(scheme)) {
dataSource = getRtmpDataSource(); dataSource = getRtmpDataSource();
} else if(SCHEME_UDP.equals(scheme)){
dataSource = getUdpDataSource();
} else if (DataSchemeDataSource.SCHEME_DATA.equals(scheme)) { } else if (DataSchemeDataSource.SCHEME_DATA.equals(scheme)) {
dataSource = getDataSchemeDataSource(); dataSource = getDataSchemeDataSource();
} else if (SCHEME_RAW.equals(scheme)) { } else if (SCHEME_RAW.equals(scheme)) {
...@@ -277,6 +282,14 @@ public final class DefaultDataSource implements DataSource { ...@@ -277,6 +282,14 @@ public final class DefaultDataSource implements DataSource {
} }
} }
private DataSource getUdpDataSource(){
if (udpDataSource == null) {
udpDataSource = new UdpDataSource();
addListenersToDataSource(udpDataSource);
}
return udpDataSource;
}
private DataSource getFileDataSource() { private DataSource getFileDataSource() {
if (fileDataSource == null) { if (fileDataSource == null) {
fileDataSource = new FileDataSource(); fileDataSource = new FileDataSource();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment