mirror of
https://projects.vdr-developer.org/git/vdr-plugin-softhddevice.git
synced 2023-10-10 19:16:51 +02:00
Fix bug: 100% cpu use.
Fix bug: audio/video out of sync after jump in recordings.
This commit is contained in:
parent
752ee356fa
commit
c112b850d8
15
softhddev.c
15
softhddev.c
@ -1451,7 +1451,10 @@ int VideoPollInput(void)
|
|||||||
VideoClearBuffers = 0;
|
VideoClearBuffers = 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
if (!atomic_read(&VideoPacketsFilled)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1468,9 +1471,6 @@ int VideoDecodeInput(void)
|
|||||||
int saved_size;
|
int saved_size;
|
||||||
static int last_codec_id = CODEC_ID_NONE;
|
static int last_codec_id = CODEC_ID_NONE;
|
||||||
|
|
||||||
if (StreamFreezed) { // stream freezed
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if (VideoClearBuffers) {
|
if (VideoClearBuffers) {
|
||||||
atomic_set(&VideoPacketsFilled, 0);
|
atomic_set(&VideoPacketsFilled, 0);
|
||||||
VideoPacketRead = VideoPacketWrite;
|
VideoPacketRead = VideoPacketWrite;
|
||||||
@ -1481,6 +1481,10 @@ int VideoDecodeInput(void)
|
|||||||
VideoClearBuffers = 0;
|
VideoClearBuffers = 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
if (StreamFreezed) { // stream freezed
|
||||||
|
// clear is called during freezed
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
filled = atomic_read(&VideoPacketsFilled);
|
filled = atomic_read(&VideoPacketsFilled);
|
||||||
if (!filled) {
|
if (!filled) {
|
||||||
@ -2029,7 +2033,8 @@ void Clear(void)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
VideoResetPacket(); // terminate work
|
VideoResetPacket(); // terminate work
|
||||||
VideoSetClosing(MyHwDecoder);
|
//closing not reset:
|
||||||
|
//VideoSetClosing(MyHwDecoder);
|
||||||
VideoResetStart(MyHwDecoder);
|
VideoResetStart(MyHwDecoder);
|
||||||
VideoClearBuffers = 1;
|
VideoClearBuffers = 1;
|
||||||
AudioFlushBuffers();
|
AudioFlushBuffers();
|
||||||
|
Loading…
Reference in New Issue
Block a user