more dl features#2679
Conversation
|
Would it be possible to retain .opus for Ogg Opus files? Or is that a hard requirement for the fix? It's not a deal breaker, but I find it convenient to tell apart between my Ogg Vorbis and Ogg Opus files by looking at the extensions rather than having to open MediaInfo or similar utilities. Ogg Vorbis streams, if present, should certainly have the .ogg (or .oga) extension. |
|
@opusforlife2 yes, is possible |
|
@kapodamy The change list sounds interesting. Please ping me when you're done. |
|
@TobiGr can you take a look on TeamNewPipe/NewPipeExtractor#199 |
|
@kapodamy I'll merge the extractor PR after a rebase. Can you rebase this PR, too? We won't wait for the other PRs because their authors do not respond / apply the requested changes. |
|
@TobiGr ok |
* used for opus audio stream * update WebMReader and WebMWriter * new post-processing algorithm
* reduce the number of iterations over the output file (less seeking) * fix audio samples with size of 255 do not handled correctly in the segment table (allows writing audio streams with 70kbps and 160kbps bitrate) * add support for VORBIS codec metadata * write packets based on the timestamp
* recovery infrastructure * bump serialVersionUID of DownloadMission * misc cleanup in DownloadMission.java * remove unused/redundant from strings.xml
* correct calculation of "co64" box and usage of 64bits offsets * generate one chunk for audio streams like ffmpeg does, attempt to fix cut-off audio * misc. cleanup
* OggFromWebMWriter: rewrite (again), reduce iterations over the input. Works as-is (video streams are not supported) * WebMReader: use int for SimpleBlock.dataSize instead of long * Download Recovery: allow recovering uninitialized downloads * check range-requests using HEAD method instead of GET * DownloadRunnableFallback: add workaround for 32kB/s issue, unknown issue origin, wont fix * reporting downloads errors now include the source url with the selected quality and format
* check if the directory pending_downloads was created
fix wrong cue generation
keep *.opus extension
* migrate few annotations to androidx * mission recovery: better error handling (except StreamExtractor.getErrorMessage() method always returns an error) * post-processing: more detailed progress [file specific changes] DownloadMission.java * remove redundant/boilerplate code (again) * make few variables volatile * better file "length" approximation * use "done" variable to count the amount of bytes downloaded (simplify percent calc in UI code) Postprocessing.java * if case of error use "ERROR_POSTPROCESSING" instead of "ERROR_UNKNOWN_EXCEPTION" * simplify source stream init DownloadManager.java * move all "service message sending" code to DownloadMission * remove not implemented method "notifyUserPendingDownloads()" also his unused strings DownloadManagerService.java * use START_STICKY instead of START_NOT_STICKY * simplify addMissionEventListener()/removeMissionEventListener() methods (always are called from the main thread) Deleter.java * better method definition MissionAdapter.java * better method definition * code cleanup * the UI is now refreshed every 750ms * simplify download progress calculation * indicates if the download is actually recovering * smooth download speed measure * show estimated remain time MainFragment.java: * check if viewPager is null (issued by "Apply changes" feature of Android Studio)
This happened when I turned off wifi while downloading. I got the normal error screen. I might be better to modify the notification to promt the error. When taping on the notification or the unfinished item in the downloads view, more info should be displayed. |
* used for opus audio stream * update WebMReader and WebMWriter * new post-processing algorithm
* reduce the number of iterations over the output file (less seeking) * fix audio samples with size of 255 do not handled correctly in the segment table (allows writing audio streams with 70kbps and 160kbps bitrate) * add support for VORBIS codec metadata * write packets based on the timestamp
* recovery infrastructure * bump serialVersionUID of DownloadMission * misc cleanup in DownloadMission.java * remove unused/redundant from strings.xml
* correct calculation of "co64" box and usage of 64bits offsets * generate one chunk for audio streams like ffmpeg does, attempt to fix cut-off audio * misc. cleanup
* OggFromWebMWriter: rewrite (again), reduce iterations over the input. Works as-is (video streams are not supported) * WebMReader: use int for SimpleBlock.dataSize instead of long * Download Recovery: allow recovering uninitialized downloads * check range-requests using HEAD method instead of GET * DownloadRunnableFallback: add workaround for 32kB/s issue, unknown issue origin, wont fix * reporting downloads errors now include the source url with the selected quality and format
* check if the directory pending_downloads was created
fix wrong cue generation
keep *.opus extension
* migrate few annotations to androidx * mission recovery: better error handling (except StreamExtractor.getErrorMessage() method always returns an error) * post-processing: more detailed progress [file specific changes] DownloadMission.java * remove redundant/boilerplate code (again) * make few variables volatile * better file "length" approximation * use "done" variable to count the amount of bytes downloaded (simplify percent calc in UI code) Postprocessing.java * if case of error use "ERROR_POSTPROCESSING" instead of "ERROR_UNKNOWN_EXCEPTION" * simplify source stream init DownloadManager.java * move all "service message sending" code to DownloadMission * remove not implemented method "notifyUserPendingDownloads()" also his unused strings DownloadManagerService.java * use START_STICKY instead of START_NOT_STICKY * simplify addMissionEventListener()/removeMissionEventListener() methods (always are called from the main thread) Deleter.java * better method definition MissionAdapter.java * better method definition * code cleanup * the UI is now refreshed every 750ms * simplify download progress calculation * indicates if the download is actually recovering * smooth download speed measure * show estimated remain time MainFragment.java: * check if viewPager is null (issued by "Apply changes" feature of Android Studio)
…into dl-last-features
|
@TobiGr |
TobiGr
left a comment
There was a problem hiding this comment.
The ETA looks good now 👍
There are some smaller things, but they are easy to fix
app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java
Outdated
Show resolved
Hide resolved
app/src/main/java/us/shandian/giga/get/MissionRecoveryInfo.java
Outdated
Show resolved
Hide resolved
app/src/main/java/org/schabi/newpipe/streams/OggFromWebMWriter.java
Outdated
Show resolved
Hide resolved
|
Can you please check, why WebM with 720p downloads have no audio track? The same video with audio track is available when using 0.17.4, but not on your latest commit. |
use +webm_opus instead of +opus
|
Je ne comprends rien, il n'y a pas un lien pour télécharger newpipe 0.18.2 |
|
@benymos download it from here: https://github.com/TeamNewPipe/NewPipe/releases/tag/v0.18.2 Translated into French using DeepL // Traduit en français à l'aide de DeepL: |


This pull request does:
required:
[ ✔ ] I carefully read the contribution guidelines and agree to them.