Commit Graph

167 Commits

Author SHA1 Message Date
Pierre Rudloff 44bf858c35 style(phpcs): Switch to PSR-12
https://www.php-fig.org/psr/psr-12/
2019-10-03 21:24:12 +02:00
Pierre Rudloff 2ec732b33e style: Remove useless "use" statement 2019-06-17 22:53:28 +02:00
Pierre Rudloff 84e9e86d28 style(styleci): Lint 2019-04-22 21:08:36 +02:00
Pierre Rudloff e13404903b refactor: Move exceptions and streams to seperate namespaces 2019-04-22 21:06:05 +02:00
Pierre Rudloff bba2087a55 style(styleci): Lint 2019-04-22 17:04:59 +02:00
Pierre Rudloff 1387d836dc refactor: New Session class
So that session is shared between classes and does not get overwritten
2019-04-22 17:03:54 +02:00
Pierre Rudloff 25f33bba56 refactor: Split FrontController into multiple classes
Closes #177
2019-04-22 16:51:48 +02:00
Pierre Rudloff 1df06f7c22 refactor: Use route names that make more sense 2019-04-22 15:31:51 +02:00
Pierre Rudloff 1edd623c7f fix: Enforce convert mode
So it can't be used by adding "&audio=on" manually
2019-04-21 23:16:27 +02:00
Pierre Rudloff 70475f83d4 feat: Add a way to convert an entire playlist
Closes #194
2019-04-21 22:56:43 +02:00
Pierre Rudloff 97a7830196 refactor: Reuse Video::getHttpResponse() where possible 2019-04-21 22:38:27 +02:00
Pierre Rudloff e93ab7ed13 feat: Use ZIP files for playlist archives
It is more widely supported and could be later used for #194
2019-04-21 22:34:45 +02:00
Pierre Rudloff 226f1b8380 fix: Don't use the $url property
It is not reliable
2019-04-21 22:20:05 +02:00
Pierre Rudloff 61cb73dc59 refactor: Fix some types and unused variables 2019-04-21 19:51:16 +02:00
Pierre Rudloff 4c9af8ad1d refactor: New Video class
The news class provides a cleaner object-oriented logic

BREAKING CHANGE: The VideoDownload class has been removed and the Config constructor is now private
2019-04-21 18:30:02 +02:00
Pierre Rudloff f9bf3b8d47 refactor: Use a StreamInterface for PlaylistArchiveStream
It is much cleaner
2019-04-21 00:35:43 +02:00
Pierre Rudloff ac3b768b50 refactor(phpstan): Various code improvements 2019-03-31 16:25:17 +02:00
Pierre Rudloff 80b44af772 style: Clarify long conditions 2019-03-30 18:33:05 +01:00
Pierre Rudloff f315343798 refactor: Cleanup best format logic
Reuse $defaultFormat everywhere instead of duplicating conditions
2019-03-27 00:25:02 +01:00
Pierre Rudloff 506584ceee fix: Specify allowed protocols explicitely
"^=http" also catches http_dash_segments
2019-03-24 15:13:01 +01:00
Pierre Rudloff e90b9e3439 fix: Missing Smarty variable in some routes 2019-01-15 11:16:21 +01:00
Pierre Rudloff c6cf05f8ec refactor: Move app name to a config variable
See #205
2019-01-06 16:59:16 +01:00
Pierre Rudloff 5b7b101a8a refactor(FrontController): We don't need to set the filename twice 2018-12-28 20:01:46 +01:00
Pierre Rudloff ecd5bf306a fixup! feat: Add support for HTTP range requests when stream mode is enabled 2018-09-18 18:52:56 +02:00
Pierre Rudloff 4cbc21de46 feat: Add support for HTTP range requests when stream mode is enabled
Fixes #192
2018-09-18 18:49:43 +02:00
Pierre Rudloff 9a688e931a fix: Check if the url GET parameter is empty 2018-08-13 10:05:38 +02:00
Pierre Rudloff b8b6180609 feat: Allow Youtube-like URLs
Fixes #184
2018-08-04 15:47:22 +02:00
Pierre Rudloff 298848a2f1 fix: Remux mode should fall back to best format if bestvideo+bestaudio is not available 2018-07-05 17:05:12 +02:00
Pierre Rudloff 159ea245a8 fix: Undefined variables 2018-07-03 19:52:24 +02:00
Pierre Rudloff f1cf0a2cdc feat: Add a way to trim the audio 2018-07-03 19:47:35 +02:00
Pierre Rudloff 1e4e6b52be fix: Set default format to "bestvideo+bestaudio" when remux mode is enabled
This fixes an issue on websites like Reddit that only server separate video/audio files

See #173
2018-06-03 18:27:37 +02:00
Pierre Rudloff d398f9101e docs: Typo 2018-05-26 14:48:15 +02:00
Pierre Rudloff edf4d4644d fix: Fix downloading a playlist as a TAR archive
This is the only time where youtube-dl returning an empty URL is not a problem.
2018-05-23 22:38:45 +02:00
Pierre Rudloff 2b316d4e8d fix: Throw an exception when trying to download DASH with ffmpeg
Fallback to default format when we can't download bestaudio

Fixes #165
2018-05-01 16:33:44 +02:00
Pierre Rudloff 74505cea57 feat: JSON API 2018-03-20 12:02:21 +01:00
Pierre Rudloff 04fe43a1ca style: Declare imported classes at the top of the file 2018-02-05 17:16:41 +01:00
Pierre Rudloff 986dad5100 feat: Make strings in PHP files translatable
Meaningful strings are now parsed through the getext() function and the "composer update-locales"
script now parses PHP files.

Fixes #143
2018-01-26 11:37:56 +01:00
Pierre Rudloff 4972c8ab8e feat: Add a new convertAdvanced option
It allows user to convert videos to several other audio/video formats

Fixes #148
2018-01-24 23:31:21 +01:00
Pierre Rudloff 3f325ddaae Missing property 2017-11-12 16:39:56 +01:00
Pierre Rudloff 2432a06c1b Make tests run on Windows (fixes #137)
Use AppVeyor to run tests
2017-11-11 17:48:05 +01:00
Pierre Rudloff 095c1a92f0 Some HLS streams have "m3u8_native" as protocol value (see #133) 2017-11-02 16:26:10 +01:00
Pierre Rudloff 0a2971399b Lint 2017-10-29 23:21:13 +01:00
Pierre Rudloff 2b9914f1db Fix test coverage 2017-09-29 01:11:19 +02:00
Pierre Rudloff 480271a45e Don't include credentials in URLs (fixes #118) 2017-07-05 21:55:58 +02:00
Pierre Rudloff a2dc71753e Rename Smarty variable to avoid confusion 2017-05-31 09:32:11 +02:00
Pierre Rudloff 3ead8dd458 Undeclared properties 2017-05-30 23:49:38 +02:00
Pierre Rudloff 0f80cbd333 Improve locale handling 2017-05-30 23:31:12 +02:00
Pierre Rudloff b4dd0aeb29 Basic locale switcher 2017-05-30 22:21:27 +02:00
Pierre Rudloff 1b4e96f5ef Refactor FrontController::getStream() 2017-05-05 00:25:08 +02:00
Pierre Rudloff 631f09529f Fix docblocks 2017-05-05 00:07:56 +02:00