Add buffering for SH4

Signed-off-by: max_10 <max_10@gmx.de>
This commit is contained in:
samsamsam
2018-04-14 19:41:08 +02:00
committed by Thilo Graf
parent b35e8af698
commit 0783d816b0
26 changed files with 261 additions and 70 deletions

View File

@@ -104,8 +104,9 @@ int32_t LinuxDvbBuffClose(Context_t *context);
int32_t LinuxDvbBuffFlush(Context_t *context);
int32_t LinuxDvbBuffResume(Context_t *context);
ssize_t BufferingWriteV(int fd, const struct iovec *iov, size_t ic);
int32_t WriteSetBufferingSize(const uint32_t bufferSize);
ssize_t BufferingWriteV(int fd, const struct iovec *iov, int ic);
int32_t LinuxDvbBuffSetSize(const uint32_t bufferSize);
uint32_t LinuxDvbBuffGetSize();
int LinuxDvbStop(Context_t *context, char *type);
@@ -1085,12 +1086,18 @@ static int Command(Context_t *context, OutputCmd_t command, void *argument)
ret = cERR_LINUXDVB_NO_ERROR;
if (bufferSize > 0)
{
WriteSetBufferingSize(bufferSize);
LinuxDvbBuffSetSize(bufferSize);
isBufferedOutput = true;
}
}
break;
}
case OUTPUT_GET_BUFFER_SIZE:
{
ret = cERR_LINUXDVB_NO_ERROR;
*((uint32_t*)argument) = LinuxDvbBuffGetSize();
break;
}
default:
linuxdvb_err("ContainerCmd %d not supported!\n", command);
ret = cERR_LINUXDVB_ERROR;