[mobile] remove ijk soft decode

pull/362/head
FongMi 2 years ago
parent 337f441d3f
commit d74d96ea15
  1. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/dialog/SiteDialog.java
  2. 9
      app/src/main/java/com/fongmi/android/tv/db/AppDatabase.java
  3. 2
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  4. 1
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  5. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  6. 5
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java
  7. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java
  8. 16
      ijkplayer/src/main/java/tv/danmaku/ijk/media/player/ui/IjkVideoView.java

@ -93,8 +93,7 @@ public class SiteDialog implements SiteAdapter.OnClickListener {
if (decoration != null) binding.recycler.removeItemDecoration(decoration);
binding.recycler.addItemDecoration(decoration = new SpaceItemDecoration(getCount(), 16));
binding.recycler.setLayoutManager(new GridLayoutManager(dialog.getContext(), getCount()));
if (!binding.mode.hasFocus())
binding.recycler.post(() -> binding.recycler.scrollToPosition(VodConfig.getHomeIndex()));
if (!binding.mode.hasFocus()) binding.recycler.post(() -> binding.recycler.scrollToPosition(VodConfig.getHomeIndex()));
}
private void setDialog() {

@ -80,12 +80,9 @@ public abstract class AppDatabase extends RoomDatabase {
File wal = new File(Path.tv(), NAME + "-wal");
File shm = new File(Path.tv(), NAME + "-shm");
File pref = new File(Path.tv(), NAME + "-pref");
if (db.exists())
Path.move(db, App.get().getDatabasePath(db.getName()).getAbsoluteFile());
if (wal.exists())
Path.move(wal, App.get().getDatabasePath(wal.getName()).getAbsoluteFile());
if (shm.exists())
Path.move(shm, App.get().getDatabasePath(shm.getName()).getAbsoluteFile());
if (db.exists()) Path.move(db, App.get().getDatabasePath(db.getName()).getAbsoluteFile());
if (wal.exists()) Path.move(wal, App.get().getDatabasePath(wal.getName()).getAbsoluteFile());
if (shm.exists()) Path.move(shm, App.get().getDatabasePath(shm.getName()).getAbsoluteFile());
if (pref.exists()) Prefers.restore(pref);
App.post(callback::success);
});

@ -134,7 +134,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic
}
private void setupIjk(IjkVideoView view) {
ijkPlayer = view.render(Setting.getRender()).decode(decode);
ijkPlayer = view.render(Setting.getRender());
ijkPlayer.addListener(this);
ijkPlayer.setPlayer(player);
}

@ -223,6 +223,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
mBinding.control.action.player.setText(mPlayers.getPlayerText());
getExo().setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
getIjk().setVisibility(mPlayers.isIjk() ? View.VISIBLE : View.GONE);
mBinding.control.action.decode.setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
mBinding.video.addOnLayoutChangeListener((view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> mPiP.update(getActivity(), view));
}

@ -387,7 +387,8 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
mBinding.control.action.player.setText(mPlayers.getPlayerText());
getExo().setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
getIjk().setVisibility(mPlayers.isIjk() ? View.VISIBLE : View.GONE);
if (mControlDialog != null && mControlDialog.isVisible()) mControlDialog.updatePlayer();
mBinding.control.action.decode.setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
if (mControlDialog != null && mControlDialog.isVisible()) mControlDialog.setPlayer();
}
private void setDecodeView() {

@ -89,7 +89,6 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
if (player == null) dismiss();
if (player == null) return;
binding.speed.setValue(Math.max(player.getSpeed(), 0.5f));
binding.player.setText(parent.control.action.player.getText());
binding.decode.setText(parent.control.action.decode.getText());
binding.ending.setText(parent.control.action.ending.getText());
binding.opening.setText(parent.control.action.opening.getText());
@ -97,6 +96,7 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
binding.timer.setActivated(Timer.get().isRunning());
setTrackVisible();
setScaleText();
setPlayer();
setParse();
}
@ -174,8 +174,9 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
binding.parse.getAdapter().notifyItemRangeChanged(0, binding.parse.getAdapter().getItemCount());
}
public void updatePlayer() {
public void setPlayer() {
binding.player.setText(parent.control.action.player.getText());
binding.decode.setVisibility(parent.control.action.decode.getVisibility());
}
public void setParseVisible(boolean visible) {

@ -369,8 +369,7 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != Activity.RESULT_OK || requestCode != FileChooser.REQUEST_PICK_FILE)
return;
if (resultCode != Activity.RESULT_OK || requestCode != FileChooser.REQUEST_PICK_FILE) return;
setConfig(Config.find("file:/" + FileChooser.getPathFromUri(getContext(), data.getData()).replace(Path.rootPath(), ""), type));
}
}

@ -59,7 +59,6 @@ public class IjkVideoView extends FrameLayout implements MediaController.MediaPl
private int mTargetState;
private int mCurrentState;
private int mCurrentDecode;
private int mCurrentRender;
private int mCurrentPlayer;
private int mCurrentAspectRatio;
@ -122,11 +121,6 @@ public class IjkVideoView extends FrameLayout implements MediaController.MediaPl
}
}
public IjkVideoView decode(int decode) {
mCurrentDecode = decode;
return this;
}
public IjkVideoView render(int render) {
setRender(render);
return this;
@ -462,11 +456,11 @@ public class IjkVideoView extends FrameLayout implements MediaController.MediaPl
mPlayer.setOption(player, "enable-accurate-seek", 0);
mPlayer.setOption(player, "framedrop", 1);
mPlayer.setOption(player, "max-buffer-size", 15 * 1024 * 1024);
mPlayer.setOption(player, "mediacodec", mCurrentDecode);
mPlayer.setOption(player, "mediacodec-hevc", mCurrentDecode);
mPlayer.setOption(player, "mediacodec-all-videos", mCurrentDecode);
mPlayer.setOption(player, "mediacodec-auto-rotate", mCurrentDecode);
mPlayer.setOption(player, "mediacodec-handle-resolution-change", mCurrentDecode);
mPlayer.setOption(player, "mediacodec", 1);
mPlayer.setOption(player, "mediacodec-hevc", 1);
mPlayer.setOption(player, "mediacodec-all-videos", 1);
mPlayer.setOption(player, "mediacodec-auto-rotate", 1);
mPlayer.setOption(player, "mediacodec-handle-resolution-change", 1);
mPlayer.setOption(player, "opensles", 0);
mPlayer.setOption(player, "overlay-format", IjkMediaPlayer.SDL_FCC_RV32);
mPlayer.setOption(player, "reconnect", 1);

Loading…
Cancel
Save