Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: rotate #5451

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
tag next
--------------------------------
- ffmpeg: upgrade to 4.0

tag k0.8.8
--------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,68 +68,6 @@ public void onItemClick(AdapterView<?> parent, View view, final int position, fi
}
});

String manifest_string =
"{\n" +
" \"version\": \"1.0.0\",\n" +
" \"adaptationSet\": [\n" +
" {\n" +
" \"duration\": 1000,\n" +
" \"id\": 1,\n" +
" \"representation\": [\n" +
" {\n" +
" \"id\": 1,\n" +
" \"codec\": \"avc1.64001e,mp4a.40.5\",\n" +
" \"url\": \"http://las-tech.org.cn/kwai/las-test_ld500d.flv\",\n" +
" \"backupUrl\": [],\n" +
" \"host\": \"las-tech.org.cn\",\n" +
" \"maxBitrate\": 700,\n" +
" \"width\": 640,\n" +
" \"height\": 360,\n" +
" \"frameRate\": 25,\n" +
" \"qualityType\": \"SMOOTH\",\n" +
" \"qualityTypeName\": \"流畅\",\n" +
" \"hidden\": false,\n" +
" \"disabledFromAdaptive\": false,\n" +
" \"defaultSelected\": false\n" +
" },\n" +
" {\n" +
" \"id\": 2,\n" +
" \"codec\": \"avc1.64001f,mp4a.40.5\",\n" +
" \"url\": \"http://las-tech.org.cn/kwai/las-test_sd1000d.flv\",\n" +
" \"backupUrl\": [],\n" +
" \"host\": \"las-tech.org.cn\",\n" +
" \"maxBitrate\": 1300,\n" +
" \"width\": 960,\n" +
" \"height\": 540,\n" +
" \"frameRate\": 25,\n" +
" \"qualityType\": \"STANDARD\",\n" +
" \"qualityTypeName\": \"标清\",\n" +
" \"hidden\": false,\n" +
" \"disabledFromAdaptive\": false,\n" +
" \"defaultSelected\": true\n" +
" },\n" +
" {\n" +
" \"id\": 3,\n" +
" \"codec\": \"avc1.64001f,mp4a.40.5\",\n" +
" \"url\": \"http://las-tech.org.cn/kwai/las-test.flv\",\n" +
" \"backupUrl\": [],\n" +
" \"host\": \"las-tech.org.cn\",\n" +
" \"maxBitrate\": 2300,\n" +
" \"width\": 1280,\n" +
" \"height\": 720,\n" +
" \"frameRate\": 30,\n" +
" \"qualityType\": \"HIGH\",\n" +
" \"qualityTypeName\": \"高清\",\n" +
" \"hidden\": false,\n" +
" \"disabledFromAdaptive\": false,\n" +
" \"defaultSelected\": false\n" +
" }\n" +
" ]\n" +
" }\n" +
" ]\n" +
"}";

mAdapter.addItem(manifest_string, "las test");
mAdapter.addItem("http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8", "bipbop basic master playlist");
mAdapter.addItem("http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/gear1/prog_index.m3u8", "bipbop basic 400x300 @ 232 kbps");
mAdapter.addItem("http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/gear2/prog_index.m3u8", "bipbop basic 640x480 @ 650 kbps");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ public class IjkVideoView extends FrameLayout implements MediaController.MediaPl
private String TAG = "IjkVideoView";
// settable by the client
private Uri mUri;
private String mManifestString;
private Map<String, String> mHeaders;

// all possible internal states
Expand Down Expand Up @@ -254,12 +253,7 @@ public void setHudView(TableLayout tableLayout) {
* @param path the path of the video.
*/
public void setVideoPath(String path) {
if (path.contains("adaptationSet")){
mManifestString = path;
setVideoURI(Uri.parse("ijklas:"));
} else {
setVideoURI(Uri.parse(path));
}
setVideoURI(Uri.parse(path));
}

/**
Expand Down Expand Up @@ -1043,11 +1037,6 @@ public IMediaPlayer createPlayer(int playerType) {
ijkMediaPlayer = new IjkMediaPlayer();
ijkMediaPlayer.native_setLogLevel(IjkMediaPlayer.IJK_LOG_DEBUG);

if (mManifestString != null) {
ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "iformat", "ijklas");
ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "find_stream_info", 0);
ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "manifest_string", mManifestString);
}
if (mSettings.getUsingMediaCodec()) {
ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1);
if (mSettings.getUsingMediaCodecAutoRotate()) {
Expand Down
6 changes: 2 additions & 4 deletions config/module-lite.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-programs"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffmpeg"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffplay"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffprobe"
#export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffserver"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffserver"

# Documentation options:
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-doc"
Expand Down Expand Up @@ -58,7 +58,7 @@ export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-network"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-d3d11va"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dxva2"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vaapi"
#export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vda"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vda"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vdpau"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-videotoolbox"

Expand Down Expand Up @@ -88,7 +88,6 @@ export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-muxer=mp4"

# ./configure --list-demuxers
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-demuxers"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=ijk*"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=aac"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=concat"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=data"
Expand Down Expand Up @@ -128,7 +127,6 @@ export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=noise"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=remove_extradata"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=text2movsub"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=vp9_superframe"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=eac3_core"

# ./configure --list-protocols
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocols"
Expand Down
2 changes: 0 additions & 2 deletions ijkmedia/ijkplayer/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,6 @@ LOCAL_SRC_FILES += android/pipeline/ffpipeline_android.c
LOCAL_SRC_FILES += android/pipeline/ffpipenode_android_mediacodec_vdec.c

LOCAL_SRC_FILES += ijkavformat/allformats.c
LOCAL_SRC_FILES += ijkavformat/cJSON.c
LOCAL_SRC_FILES += ijkavformat/ijklas.c
LOCAL_SRC_FILES += ijkavformat/ijklivehook.c
LOCAL_SRC_FILES += ijkavformat/ijkmediadatasource.c
LOCAL_SRC_FILES += ijkavformat/ijkio.c
Expand Down
17 changes: 3 additions & 14 deletions ijkmedia/ijkplayer/ff_ffplay.c
Original file line number Diff line number Diff line change
Expand Up @@ -3116,9 +3116,6 @@ static int read_thread(void *arg)

if (ffp->iformat_name)
is->iformat = av_find_input_format(ffp->iformat_name);

av_dict_set_intptr(&ffp->format_opts, "video_cache_ptr", (intptr_t)&ffp->stat.video_cache, 0);
av_dict_set_intptr(&ffp->format_opts, "audio_cache_ptr", (intptr_t)&ffp->stat.audio_cache, 0);
err = avformat_open_input(&ic, is->filename, is->iformat, &ffp->format_opts);
if (err < 0) {
print_error(is->filename, err);
Expand Down Expand Up @@ -3996,6 +3993,7 @@ FFPlayer *ffp_create()
ffp->meta = ijkmeta_create();

av_opt_set_defaults(ffp);

return ffp;
}

Expand Down Expand Up @@ -4136,7 +4134,7 @@ void *ffp_set_ijkio_inject_opaque(FFPlayer *ffp, void *opaque)
ijkio_manager_destroyp(&ffp->ijkio_manager_ctx);
ijkio_manager_create(&ffp->ijkio_manager_ctx, ffp);
ijkio_manager_set_callback(ffp->ijkio_manager_ctx, ijkio_app_func_event);
ffp_set_option_intptr(ffp, FFP_OPT_CATEGORY_FORMAT, "ijkiomanager", (uintptr_t)ffp->ijkio_manager_ctx);
ffp_set_option_int(ffp, FFP_OPT_CATEGORY_FORMAT, "ijkiomanager", (int64_t)(intptr_t)ffp->ijkio_manager_ctx);

return prev_weak_thiz;
}
Expand All @@ -4150,7 +4148,7 @@ void *ffp_set_inject_opaque(FFPlayer *ffp, void *opaque)

av_application_closep(&ffp->app_ctx);
av_application_open(&ffp->app_ctx, ffp);
ffp_set_option_intptr(ffp, FFP_OPT_CATEGORY_FORMAT, "ijkapplication", (uint64_t)(intptr_t)ffp->app_ctx);
ffp_set_option_int(ffp, FFP_OPT_CATEGORY_FORMAT, "ijkapplication", (int64_t)(intptr_t)ffp->app_ctx);

ffp->app_ctx->func_on_app_event = app_func_event;
return prev_weak_thiz;
Expand All @@ -4174,15 +4172,6 @@ void ffp_set_option_int(FFPlayer *ffp, int opt_category, const char *name, int64
av_dict_set_int(dict, name, value, 0);
}

void ffp_set_option_intptr(FFPlayer *ffp, int opt_category, const char *name, uintptr_t value)
{
if (!ffp)
return;

AVDictionary **dict = ffp_get_opt_dict(ffp, opt_category);
av_dict_set_intptr(dict, name, value, 0);
}

void ffp_set_overlay_format(FFPlayer *ffp, int chroma_fourcc)
{
switch (chroma_fourcc) {
Expand Down
1 change: 0 additions & 1 deletion ijkmedia/ijkplayer/ff_ffplay.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ void *ffp_set_inject_opaque(FFPlayer *ffp, void *opaque);
void *ffp_set_ijkio_inject_opaque(FFPlayer *ffp, void *opaque);
void ffp_set_option(FFPlayer *ffp, int opt_category, const char *name, const char *value);
void ffp_set_option_int(FFPlayer *ffp, int opt_category, const char *name, int64_t value);
void ffp_set_option_intptr(FFPlayer *ffp, int opt_category, const char *name, uintptr_t value);

int ffp_get_video_codec_info(FFPlayer *ffp, char **codec_info);
int ffp_get_audio_codec_info(FFPlayer *ffp, char **codec_info);
Expand Down
1 change: 1 addition & 0 deletions ijkmedia/ijkplayer/ff_ffplay_options.h
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@ static const AVOption ffp_context_options[] = {
OPTION_OFFSET(ijkmeta_delay_init), OPTION_INT(0, 0, 1) },
{ "render-wait-start", "render wait start",
OPTION_OFFSET(render_wait_start), OPTION_INT(0, 0, 1) },

{ NULL }
};

Expand Down
4 changes: 1 addition & 3 deletions ijkmedia/ijkplayer/ijkavformat/allformats.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@
#define IJK_REGISTER_DEMUXER(x) \
{ \
extern AVInputFormat ijkff_##x##_demuxer; \
int ijkav_register_##x##_demuxer(AVInputFormat *demuxer, int demuxer_size); \
ijkav_register_##x##_demuxer(&ijkff_##x##_demuxer, sizeof(AVInputFormat)); \
ijkav_register_input_format(&ijkff_##x##_demuxer); \
}

#define IJK_REGISTER_PROTOCOL(x) \
Expand Down Expand Up @@ -87,6 +86,5 @@ void ijkav_register_all(void)
IJK_REGISTER_PROTOCOL(ijksegment);
/* demuxers */
IJK_REGISTER_DEMUXER(ijklivehook);
IJK_REGISTER_DEMUXER(ijklas);
av_log(NULL, AV_LOG_INFO, "===== custom modules end =====\n");
}
Loading