Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
NotesChapter
GSYVideoPlayer
提交
25551600
G
GSYVideoPlayer
项目概览
NotesChapter
/
GSYVideoPlayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
GSYVideoPlayer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
25551600
编写于
3月 11, 2020
作者:
G
guoshuyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update exoplayer 2.11.3
上级
bf97fe11
变更
10
展开全部
隐藏空白更改
内联
并排
Showing
10 changed file
with
159 addition
and
815 deletion
+159
-815
app/src/main/java/com/example/gsyvideoplayer/DetailPlayer.java
...rc/main/java/com/example/gsyvideoplayer/DetailPlayer.java
+2
-0
app/src/main/java/com/example/gsyvideoplayer/GSYApplication.java
.../main/java/com/example/gsyvideoplayer/GSYApplication.java
+1
-0
app/src/main/java/com/example/gsyvideoplayer/source/CustomSourceTag.java
...va/com/example/gsyvideoplayer/source/CustomSourceTag.java
+0
-25
app/src/main/java/com/example/gsyvideoplayer/source/DefaultHttpDataSourceFactory.java
...e/gsyvideoplayer/source/DefaultHttpDataSourceFactory.java
+0
-123
dependencies.gradle
dependencies.gradle
+2
-2
gsyVideoPlayer-exo_player2/src/main/java/tv/danmaku/ijk/media/exo2/ExoSourceManager.java
...main/java/tv/danmaku/ijk/media/exo2/ExoSourceManager.java
+4
-5
gsyVideoPlayer-exo_player2/src/main/java/tv/danmaku/ijk/media/exo2/source/GSYDefaultHttpDataSource.java
...nmaku/ijk/media/exo2/source/GSYDefaultHttpDataSource.java
+137
-101
gsyVideoPlayer-exo_player2/src/main/java/tv/danmaku/ijk/media/exo2/source/GSYExoHttpDataSource.java
...v/danmaku/ijk/media/exo2/source/GSYExoHttpDataSource.java
+0
-546
gsyVideoPlayer-exo_player2/src/main/java/tv/danmaku/ijk/media/exo2/source/GSYExoHttpDataSourceFactory.java
...ku/ijk/media/exo2/source/GSYExoHttpDataSourceFactory.java
+11
-11
gsyVideoPlayer/build.gradle
gsyVideoPlayer/build.gradle
+2
-2
未找到文件。
app/src/main/java/com/example/gsyvideoplayer/DetailPlayer.java
浏览文件 @
25551600
...
...
@@ -285,6 +285,8 @@ public class DetailPlayer extends AppCompatActivity {
//String url = "http://video.7k.cn/app_video/20171202/6c8cf3ea/v.m3u8.mp4";
//String url = "http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8";
String
url
=
"http://9890.vod.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4"
;
//ssl error
//String url = "https://file.shftz.cn:8443/filesystem/download/10/2019/3/26/ce2c7c66-e9eb-42be-adf6-f9008385ea8c.mov/play";
//String url = "https://us-4.wl-cdn.com/hls/20200225/fde4f8ef394731f38d68fe6d601cfd56/index.m3u8";
//String url = "https://cdn61.ytbbs.tv/cn/tv/55550/55550-1/play.m3u8?md5=v4sI4lWlo4XojzeAjgBGaQ&expires=1521204012&token=55550";
//String url = "http://1253492636.vod2.myqcloud.com/2e5fc148vodgzp1253492636/d08af82d4564972819086152830/plHZZoSkje0A.mp4";
...
...
app/src/main/java/com/example/gsyvideoplayer/GSYApplication.java
浏览文件 @
25551600
...
...
@@ -3,6 +3,7 @@ package com.example.gsyvideoplayer;
import
androidx.multidex.MultiDexApplication
;
import
tv.danmaku.ijk.media.exo2.Exo2PlayerManager
;
import
tv.danmaku.ijk.media.exo2.ExoSourceManager
;
import
tv.danmaku.ijk.media.exo2.IjkExo2MediaPlayer
;
import
tv.danmaku.ijk.media.player.IMediaPlayer
;
...
...
app/src/main/java/com/example/gsyvideoplayer/source/CustomSourceTag.java
已删除
100644 → 0
浏览文件 @
bf97fe11
package
com.example.gsyvideoplayer.source
;
import
android.content.Context
;
import
com.google.android.exoplayer2.upstream.DataSource
;
import
com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
;
import
com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
;
import
com.google.android.exoplayer2.util.Util
;
public
class
CustomSourceTag
{
/**
* 获取SourceFactory
*/
static
public
DataSource
.
Factory
getDataSourceFactory
(
Context
context
,
boolean
preview
)
{
return
new
DefaultDataSourceFactory
(
context
,
preview
?
null
:
new
DefaultBandwidthMeter
(),
getHttpDataSourceFactory
(
context
,
preview
));
}
static
public
DataSource
.
Factory
getHttpDataSourceFactory
(
Context
context
,
boolean
preview
)
{
DefaultHttpDataSourceFactory
dataSourceFactory
=
new
DefaultHttpDataSourceFactory
(
Util
.
getUserAgent
(
context
,
"yout tag"
),
preview
?
null
:
new
DefaultBandwidthMeter
());
return
dataSourceFactory
;
}
}
app/src/main/java/com/example/gsyvideoplayer/source/DefaultHttpDataSourceFactory.java
已删除
100644 → 0
浏览文件 @
bf97fe11
/*
* Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.example.gsyvideoplayer.source
;
import
com.google.android.exoplayer2.upstream.HttpDataSource
;
import
com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory
;
import
com.google.android.exoplayer2.upstream.HttpDataSource.Factory
;
import
com.google.android.exoplayer2.upstream.TransferListener
;
import
androidx.annotation.Nullable
;
/** A {@link Factory} that produces {@link DefaultHttpDataSource} instances. */
public
final
class
DefaultHttpDataSourceFactory
extends
BaseFactory
{
private
final
String
userAgent
;
private
final
@Nullable
TransferListener
listener
;
private
final
int
connectTimeoutMillis
;
private
final
int
readTimeoutMillis
;
private
final
boolean
allowCrossProtocolRedirects
;
/**
* Constructs a DefaultHttpDataSourceFactory. Sets {@link
* DefaultHttpDataSource#DEFAULT_CONNECT_TIMEOUT_MILLIS} as the connection timeout, {@link
* DefaultHttpDataSource#DEFAULT_READ_TIMEOUT_MILLIS} as the read timeout and disables
* cross-protocol redirects.
*
* @param userAgent The User-Agent string that should be used.
*/
public
DefaultHttpDataSourceFactory
(
String
userAgent
)
{
this
(
userAgent
,
null
);
}
/**
* Constructs a DefaultHttpDataSourceFactory. Sets {@link
* DefaultHttpDataSource#DEFAULT_CONNECT_TIMEOUT_MILLIS} as the connection timeout, {@link
* DefaultHttpDataSource#DEFAULT_READ_TIMEOUT_MILLIS} as the read timeout and disables
* cross-protocol redirects.
*
* @param userAgent The User-Agent string that should be used.
* @param listener An optional listener.
* @see #DefaultHttpDataSourceFactory(String, TransferListener, int, int, boolean)
*/
public
DefaultHttpDataSourceFactory
(
String
userAgent
,
@Nullable
TransferListener
listener
)
{
this
(
userAgent
,
listener
,
DefaultHttpDataSource
.
DEFAULT_CONNECT_TIMEOUT_MILLIS
,
DefaultHttpDataSource
.
DEFAULT_READ_TIMEOUT_MILLIS
,
false
);
}
/**
* @param userAgent The User-Agent string that should be used.
* @param connectTimeoutMillis The connection timeout that should be used when requesting remote
* data, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
* @param readTimeoutMillis The read timeout that should be used when requesting remote data, in
* milliseconds. A timeout of zero is interpreted as an infinite timeout.
* @param allowCrossProtocolRedirects Whether cross-protocol redirects (i.e. redirects from HTTP
* to HTTPS and vice versa) are enabled.
*/
public
DefaultHttpDataSourceFactory
(
String
userAgent
,
int
connectTimeoutMillis
,
int
readTimeoutMillis
,
boolean
allowCrossProtocolRedirects
)
{
this
(
userAgent
,
/* listener= */
null
,
connectTimeoutMillis
,
readTimeoutMillis
,
allowCrossProtocolRedirects
);
}
/**
* @param userAgent The User-Agent string that should be used.
* @param listener An optional listener.
* @param connectTimeoutMillis The connection timeout that should be used when requesting remote
* data, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
* @param readTimeoutMillis The read timeout that should be used when requesting remote data, in
* milliseconds. A timeout of zero is interpreted as an infinite timeout.
* @param allowCrossProtocolRedirects Whether cross-protocol redirects (i.e. redirects from HTTP
* to HTTPS and vice versa) are enabled.
*/
public
DefaultHttpDataSourceFactory
(
String
userAgent
,
@Nullable
TransferListener
listener
,
int
connectTimeoutMillis
,
int
readTimeoutMillis
,
boolean
allowCrossProtocolRedirects
)
{
this
.
userAgent
=
userAgent
;
this
.
listener
=
listener
;
this
.
connectTimeoutMillis
=
connectTimeoutMillis
;
this
.
readTimeoutMillis
=
readTimeoutMillis
;
this
.
allowCrossProtocolRedirects
=
allowCrossProtocolRedirects
;
}
@Override
protected
DefaultHttpDataSource
createDataSourceInternal
(
HttpDataSource
.
RequestProperties
defaultRequestProperties
)
{
DefaultHttpDataSource
dataSource
=
new
DefaultHttpDataSource
(
userAgent
,
/* contentTypePredicate= */
null
,
connectTimeoutMillis
,
readTimeoutMillis
,
allowCrossProtocolRedirects
,
defaultRequestProperties
);
if
(
listener
!=
null
)
{
dataSource
.
addTransferListener
(
listener
);
}
return
dataSource
;
}
}
dependencies.gradle
浏览文件 @
25551600
...
...
@@ -14,7 +14,7 @@ ext {
androidTargetSdkVersion
=
28
androidCompileSdkVersion
=
28
supportLibraryVersion
=
'1.1.0
-alpha05
'
supportLibraryVersion
=
'1.1.0'
otherVersion
=
'1.0.0'
...
...
@@ -35,7 +35,7 @@ ext {
gsyVideoVersion
=
'7.1.2'
exo_player2
=
'2.1
0.4
'
exo_player2
=
'2.1
1.3
'
permissionsdispatcher
=
'4.3.0'
...
...
gsyVideoPlayer-exo_player2/src/main/java/tv/danmaku/ijk/media/exo2/ExoSourceManager.java
浏览文件 @
25551600
...
...
@@ -6,7 +6,7 @@ import android.net.Uri;
import
androidx.annotation.Nullable
;
import
tv.danmaku.ijk.media.exo2.source.GSY
Exo
HttpDataSource
;
import
tv.danmaku.ijk.media.exo2.source.GSY
Default
HttpDataSource
;
import
tv.danmaku.ijk.media.exo2.source.GSYExoHttpDataSourceFactory
;
import
android.text.TextUtils
;
...
...
@@ -14,7 +14,6 @@ import android.text.TextUtils;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.ext.rtmp.RtmpDataSourceFactory
;
import
com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
;
import
com.google.android.exoplayer2.source.ExtractorMediaSource
;
import
com.google.android.exoplayer2.source.LoopingMediaSource
;
import
com.google.android.exoplayer2.source.MediaSource
;
import
com.google.android.exoplayer2.source.ProgressiveMediaSource
;
...
...
@@ -312,13 +311,13 @@ public class ExoSourceManager {
* 获取SourceFactory
*/
private
DataSource
.
Factory
getDataSourceFactory
(
Context
context
,
boolean
preview
)
{
return
new
DefaultDataSourceFactory
(
context
,
preview
?
null
:
new
DefaultBandwidthMeter
(),
return
new
DefaultDataSourceFactory
(
context
,
preview
?
null
:
new
DefaultBandwidthMeter
.
Builder
(
context
).
build
(),
getHttpDataSourceFactory
(
context
,
preview
));
}
private
DataSource
.
Factory
getHttpDataSourceFactory
(
Context
context
,
boolean
preview
)
{
int
connectTimeout
=
GSY
Exo
HttpDataSource
.
DEFAULT_CONNECT_TIMEOUT_MILLIS
;
int
readTimeout
=
GSY
Exo
HttpDataSource
.
DEFAULT_READ_TIMEOUT_MILLIS
;
int
connectTimeout
=
GSY
Default
HttpDataSource
.
DEFAULT_CONNECT_TIMEOUT_MILLIS
;
int
readTimeout
=
GSY
Default
HttpDataSource
.
DEFAULT_READ_TIMEOUT_MILLIS
;
if
(
sHttpConnectTimeout
>
0
)
{
connectTimeout
=
sHttpConnectTimeout
;
}
...
...
app/src/main/java/com/example/gsyvideoplayer/source/
DefaultHttpDataSource.java
→
gsyVideoPlayer-exo_player2/src/main/java/tv/danmaku/ijk/media/exo2/source/GSY
DefaultHttpDataSource.java
浏览文件 @
25551600
此差异已折叠。
点击以展开。
gsyVideoPlayer-exo_player2/src/main/java/tv/danmaku/ijk/media/exo2/source/GSYExoHttpDataSource.java
已删除
100644 → 0
浏览文件 @
bf97fe11
此差异已折叠。
点击以展开。
gsyVideoPlayer-exo_player2/src/main/java/tv/danmaku/ijk/media/exo2/source/GSYExoHttpDataSourceFactory.java
浏览文件 @
25551600
...
...
@@ -15,6 +15,7 @@
*/
package
tv.danmaku.ijk.media.exo2.source
;
import
com.google.android.exoplayer2.upstream.DefaultHttpDataSource
;
import
com.google.android.exoplayer2.upstream.HttpDataSource
;
import
com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory
;
import
com.google.android.exoplayer2.upstream.HttpDataSource.Factory
;
...
...
@@ -23,7 +24,7 @@ import com.google.android.exoplayer2.upstream.TransferListener;
import
androidx.annotation.Nullable
;
/**
A {@link Factory} that produces {@link GSY
Exo
HttpDataSource} instances.
A {@link Factory} that produces {@link GSY
Default
HttpDataSource} instances.
*/
public
final
class
GSYExoHttpDataSourceFactory
extends
BaseFactory
{
...
...
@@ -36,8 +37,8 @@ public final class GSYExoHttpDataSourceFactory extends BaseFactory {
/**
Constructs a GSYExoHttpDataSourceFactory. Sets {@link
GSY
Exo
HttpDataSource#DEFAULT_CONNECT_TIMEOUT_MILLIS} as the connection timeout, {@link
GSY
Exo
HttpDataSource#DEFAULT_READ_TIMEOUT_MILLIS} as the read timeout and disables
GSY
Default
HttpDataSource#DEFAULT_CONNECT_TIMEOUT_MILLIS} as the connection timeout, {@link
GSY
Default
HttpDataSource#DEFAULT_READ_TIMEOUT_MILLIS} as the read timeout and disables
cross-protocol redirects.
@param userAgent The User-Agent string that should be used.
...
...
@@ -48,8 +49,8 @@ public final class GSYExoHttpDataSourceFactory extends BaseFactory {
/**
Constructs a GSYExoHttpDataSourceFactory. Sets {@link
GSY
Exo
HttpDataSource#DEFAULT_CONNECT_TIMEOUT_MILLIS} as the connection timeout, {@link
GSY
Exo
HttpDataSource#DEFAULT_READ_TIMEOUT_MILLIS} as the read timeout and disables
GSY
Default
HttpDataSource#DEFAULT_CONNECT_TIMEOUT_MILLIS} as the connection timeout, {@link
GSY
Default
HttpDataSource#DEFAULT_READ_TIMEOUT_MILLIS} as the read timeout and disables
cross-protocol redirects.
@param userAgent The User-Agent string that should be used.
...
...
@@ -57,8 +58,8 @@ public final class GSYExoHttpDataSourceFactory extends BaseFactory {
@see #GSYExoHttpDataSourceFactory(String, TransferListener, int, int, boolean)
*/
public
GSYExoHttpDataSourceFactory
(
String
userAgent
,
@Nullable
TransferListener
listener
)
{
this
(
userAgent
,
listener
,
GSY
Exo
HttpDataSource
.
DEFAULT_CONNECT_TIMEOUT_MILLIS
,
GSY
Exo
HttpDataSource
.
DEFAULT_READ_TIMEOUT_MILLIS
,
false
);
this
(
userAgent
,
listener
,
GSY
Default
HttpDataSource
.
DEFAULT_CONNECT_TIMEOUT_MILLIS
,
GSY
Default
HttpDataSource
.
DEFAULT_READ_TIMEOUT_MILLIS
,
false
);
}
/**
...
...
@@ -107,12 +108,11 @@ public final class GSYExoHttpDataSourceFactory extends BaseFactory {
}
@Override
protected
GSY
Exo
HttpDataSource
createDataSourceInternal
(
protected
GSY
Default
HttpDataSource
createDataSourceInternal
(
HttpDataSource
.
RequestProperties
defaultRequestProperties
)
{
GSY
Exo
HttpDataSource
dataSource
=
new
GSY
Exo
HttpDataSource
(
GSY
Default
HttpDataSource
dataSource
=
new
GSY
Default
HttpDataSource
(
userAgent
,
/* contentTypePredicate= */
null
,
connectTimeoutMillis
,
readTimeoutMillis
,
allowCrossProtocolRedirects
,
...
...
gsyVideoPlayer/build.gradle
浏览文件 @
25551600
...
...
@@ -36,7 +36,7 @@ dependencies {
implementation
fileTree
(
dir:
'libs'
,
include:
[
'*.jar'
])
api
project
(
':gsyVideoPlayer-java'
)
//
api project(':gsyVideoPlayer-exo_player2')
api
project
(
':gsyVideoPlayer-exo_player2'
)
//api project(':gsyVideoPlayer-armv5')
//api project(':gsyVideoPlayer-armv7a')
//api project(':gsyVideoPlayer-armv64')
...
...
@@ -49,7 +49,7 @@ dependencies {
//api "com.shuyu:GSYVideoPlayer:$gsyVideoVersion"
//api "com.shuyu:gsyVideoPlayer-java:$gsyVideoVersion"
api
"com.shuyu:GSYVideoPlayer-exo2:$gsyVideoVersion"
//
api "com.shuyu:GSYVideoPlayer-exo2:$gsyVideoVersion"
//api "com.shuyu:gsyVideoPlayer-armv5:$gsyVideoVersion"
//api "com.shuyu:gsyVideoPlayer-armv7a:$gsyVideoVersion"
//api "com.shuyu:gsyVideoPlayer-arm64:$gsyVideoVersion"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录