mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2026-04-18 12:51:23 +00:00
* improve space reserving, allows write better 4K/8K video data * do not use cache dirs in the muxers, Android can force close NewPipe if the device is running out of storage. Is a aggressive cache cleaning >:/ * (for devs) webm & mkv are the same thing * calculate the final file size inside of the mission, instead getting from the UI * simplify ps algorithms constructors * [missing old commit message] simplify the loading of pending downloads
42 lines
1.1 KiB
Java
42 lines
1.1 KiB
Java
package us.shandian.giga.postprocessing;
|
|
|
|
import org.schabi.newpipe.streams.Mp4DashReader;
|
|
import org.schabi.newpipe.streams.Mp4FromDashWriter;
|
|
import org.schabi.newpipe.streams.io.SharpStream;
|
|
|
|
import java.io.IOException;
|
|
|
|
class M4aNoDash extends Postprocessing {
|
|
|
|
M4aNoDash() {
|
|
super(false, true, ALGORITHM_M4A_NO_DASH);
|
|
}
|
|
|
|
@Override
|
|
boolean test(SharpStream... sources) throws IOException {
|
|
// check if the mp4 file is DASH (youtube)
|
|
|
|
Mp4DashReader reader = new Mp4DashReader(sources[0]);
|
|
reader.parse();
|
|
|
|
switch (reader.getBrands()[0]) {
|
|
case 0x64617368:// DASH
|
|
case 0x69736F35:// ISO5
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
int process(SharpStream out, SharpStream... sources) throws IOException {
|
|
Mp4FromDashWriter muxer = new Mp4FromDashWriter(sources[0]);
|
|
muxer.setMainBrand(0x4D344120);// binary string "M4A "
|
|
muxer.parseSources();
|
|
muxer.selectTracks(0);
|
|
muxer.build(out);
|
|
|
|
return OK_RESULT;
|
|
}
|
|
}
|