mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-libstb-hal.git
synced 2025-08-28 16:00:58 +02:00
Add buffering for Linux DVB outputs
Signed-off-by: max_10 <max_10@gmx.de>
Origin commit data
------------------
Branch: master
Commit: d31e113cda
Author: samsamsam <samsamsam@o2.pl>
Date: 2018-03-31 (Sat, 31 Mar 2018)
------------------
This commit was generated by Migit
This commit is contained in:
@@ -480,14 +480,14 @@ static void UpdateVideoTrack()
|
||||
HandleTracks(g_player->manager->video, (PlaybackCmd_t) - 1, "vc");
|
||||
}
|
||||
|
||||
static int ParseParams(int argc, char *argv[], char *file, char *audioFile, int *pAudioTrackIdx, int *subtitleTrackIdx)
|
||||
static int ParseParams(int argc, char *argv[], char *file, char *audioFile, int *pAudioTrackIdx, int *subtitleTrackIdx, uint32_t *linuxDvbBufferSizeMB)
|
||||
{
|
||||
int ret = 0;
|
||||
int c;
|
||||
//int digit_optind = 0;
|
||||
//int aopt = 0, bopt = 0;
|
||||
//char *copt = 0, *dopt = 0;
|
||||
while ((c = getopt(argc, argv, "we3dlsrimva:n:x:u:c:h:o:p:P:t:9:0:1:4:f:")) != -1)
|
||||
while ((c = getopt(argc, argv, "we3dlsrimva:n:x:u:c:h:o:p:P:t:9:0:1:4:f:b:")) != -1)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@@ -597,6 +597,9 @@ static int ParseParams(int argc, char *argv[], char *file, char *audioFile, int
|
||||
free(ffopt);
|
||||
break;
|
||||
}
|
||||
case 'b':
|
||||
*linuxDvbBufferSizeMB = 1024 * 1024 * atoi(optarg);
|
||||
break;
|
||||
default:
|
||||
printf("?? getopt returned character code 0%o ??\n", c);
|
||||
ret = -1;
|
||||
@@ -631,14 +634,16 @@ int main(int argc, char *argv[])
|
||||
memset(audioFile, '\0', sizeof(audioFile));
|
||||
int audioTrackIdx = -1;
|
||||
int subtitleTrackIdx = -1;
|
||||
uint32_t linuxDvbBufferSizeMB = 0;
|
||||
char argvBuff[256];
|
||||
memset(argvBuff, '\0', sizeof(argvBuff));
|
||||
int commandRetVal = -1;
|
||||
/* inform client that we can handle additional commands */
|
||||
fprintf(stderr, "{\"EPLAYER3_EXTENDED\":{\"version\":%d}}\n", 40);
|
||||
if (0 != ParseParams(argc, argv, file, audioFile, &audioTrackIdx, &subtitleTrackIdx))
|
||||
fprintf(stderr, "{\"EPLAYER3_EXTENDED\":{\"version\":%d}}\n", 41);
|
||||
if (0 != ParseParams(argc, argv, file, audioFile, &audioTrackIdx, &subtitleTrackIdx, &linuxDvbBufferSizeMB))
|
||||
{
|
||||
printf("Usage: exteplayer3 filePath [-u user-agent] [-c cookies] [-h headers] [-p prio] [-a] [-d] [-w] [-l] [-s] [-i] [-t audioTrackId] [-9 subtitleTrackId] [-x separateAudioUri] plabackUri\n");
|
||||
printf("[-b size] Linux DVB output buffer size in MB\n");
|
||||
printf("[-a 0|1|2|3] AAC software decoding - 1 bit - AAC ADTS, 2 - bit AAC LATM\n");
|
||||
printf("[-e] EAC3 software decoding\n");
|
||||
printf("[-3] AC3 software decoding\n");
|
||||
@@ -707,6 +712,9 @@ int main(int argc, char *argv[])
|
||||
g_player->output->Command(g_player, OUTPUT_ADD, "audio");
|
||||
g_player->output->Command(g_player, OUTPUT_ADD, "video");
|
||||
g_player->output->Command(g_player, OUTPUT_ADD, "subtitle");
|
||||
//Set LINUX DVB additional write buffer size
|
||||
if (linuxDvbBufferSizeMB)
|
||||
g_player->output->Command(g_player, OUTPUT_SET_BUFFER_SIZE, &linuxDvbBufferSizeMB);
|
||||
g_player->manager->video->Command(g_player, MANAGER_REGISTER_UPDATED_TRACK_INFO, UpdateVideoTrack);
|
||||
if (strncmp(file, "rtmp", 4) && strncmp(file, "ffrtmp", 4))
|
||||
{
|
||||
|
Reference in New Issue
Block a user