feat: Add a new convertAdvanced option

It allows user to convert videos to several other audio/video formats

Fixes #148
This commit is contained in:
Pierre Rudloff 2018-01-24 23:30:24 +01:00
parent c5e3c618f2
commit 4972c8ab8e
11 changed files with 221 additions and 14 deletions

View file

@ -517,6 +517,27 @@ class FrontControllerTest extends TestCase
);
}
/**
* Test the redirect() function with an advanced conversion.
*
* @return void
*/
public function testRedirectWithAdvancedConversion()
{
$this->config->convertAdvanced = true;
$this->assertRequestIsOk(
'redirect',
[
'url' => 'https://www.youtube.com/watch?v=M7IpKCZ47pU',
'format' => 'best',
'customConvert' => 'on',
'customBitrate' => 32,
'customFormat' => 'flv',
],
$this->config
);
}
/**
* Test the locale() function.
*

View file

@ -124,4 +124,15 @@ class VideoDownloadStubsTest extends TestCase
);
$this->download->getPlaylistArchiveStream($video, 'best');
}
/**
* Test getConvertedStream function with a buggy popen.
*
* @return void
* @expectedException Exception
*/
public function testGetConvertedStreamWithPopenError()
{
$this->download->getConvertedStream($this->url, 'best', 32, 'flv');
}
}

View file

@ -485,7 +485,7 @@ class VideoDownloadTest extends TestCase
}
/**
* Test getPlaylistArchiveStream function without avconv.
* Test getPlaylistArchiveStream function.
*
* @return void
* @requires OS Linux
@ -498,4 +498,33 @@ class VideoDownloadTest extends TestCase
);
$this->assertStream($this->download->getPlaylistArchiveStream($video, 'best'));
}
/**
* Test getConvertedStream function without avconv.
*
* @param string $url URL
* @param string $format Format
*
* @return void
* @dataProvider urlProvider
*/
public function testGetConvertedStream($url, $format)
{
$this->assertStream($this->download->getConvertedStream($url, $format, 32, 'flv'));
}
/**
* Test getConvertedStream function with a M3U8 file.
*
* @param string $url URL
* @param string $format Format
*
* @return void
* @expectedException Exception
* @dataProvider m3uUrlProvider
*/
public function testGetConvertedStreamM3uError($url, $format)
{
$this->download->getConvertedStream($url, $format, 32, 'flv');
}
}