* use bold style in status (mission_item_linear.xml) * fix download attemps not begin updated * dont stop the queue if a download fails * implement partial wake-lock & wifi-lock * show notifications for failed downloads * ¿proper bitmap dispose? (DownloadManagerService.java) * improve buffer filling (CircularFile.java) * [Mp4Dash] increment reserved space from 2MiB to 15MiB. This is expensive but useful for devices with low ram * [WebM] use 2MiB of reserved space * fix debug warning if one thread is used * fix wrong download speed when the activity is suspended * Fix "Queue" menu item that appears in post-processing errors * fix mission length dont being updated (missing commit)
44 lines
1.2 KiB
Java
44 lines
1.2 KiB
Java
package us.shandian.giga.postprocessing;
|
|
|
|
import org.schabi.newpipe.streams.WebMReader.TrackKind;
|
|
import org.schabi.newpipe.streams.WebMReader.WebMTrack;
|
|
import org.schabi.newpipe.streams.WebMWriter;
|
|
import org.schabi.newpipe.streams.io.SharpStream;
|
|
|
|
import java.io.IOException;
|
|
|
|
import us.shandian.giga.get.DownloadMission;
|
|
|
|
/**
|
|
* @author kapodamy
|
|
*/
|
|
class WebMMuxer extends Postprocessing {
|
|
|
|
WebMMuxer(DownloadMission mission) {
|
|
super(mission);
|
|
recommendedReserve = 2048 * 1024;// 2 MiB
|
|
worksOnSameFile = true;
|
|
}
|
|
|
|
@Override
|
|
int process(SharpStream out, SharpStream... sources) throws IOException {
|
|
WebMWriter muxer = new WebMWriter(sources);
|
|
muxer.parseSources();
|
|
|
|
// youtube uses a webm with a fake video track that acts as a "cover image"
|
|
WebMTrack[] tracks = muxer.getTracksFromSource(1);
|
|
int audioTrackIndex = 0;
|
|
for (int i = 0; i < tracks.length; i++) {
|
|
if (tracks[i].kind == TrackKind.Audio) {
|
|
audioTrackIndex = i;
|
|
break;
|
|
}
|
|
}
|
|
|
|
muxer.selectTracks(0, audioTrackIndex);
|
|
muxer.build(out);
|
|
|
|
return OK_RESULT;
|
|
}
|
|
|
|
}
|