Merge pull request #357 from vexorian/20210809_dev
Fix playback issues after the latest commit. Specially the fiurst video not playing in an on-demand channel
This commit is contained in:
commit
08f0edcc33
@ -16,17 +16,19 @@ class ChannelService extends events.EventEmitter {
|
||||
async saveChannel(number, channelJson, options) {
|
||||
|
||||
let channel = cleanUpChannel(channelJson);
|
||||
let ignoreOnDemand = true;
|
||||
if (
|
||||
(this.onDemandService != null)
|
||||
&&
|
||||
( (typeof(options) === 'undefined') || (options.ignoreOnDemand !== true) )
|
||||
) {
|
||||
ignoreOnDemand = false;
|
||||
this.onDemandService.fixupChannelBeforeSave( channel );
|
||||
}
|
||||
channelCache.saveChannelConfig( number, channel);
|
||||
await channelDB.saveChannel( number, channel );
|
||||
|
||||
this.emit('channel-update', { channelNumber: number, channel: channel} );
|
||||
this.emit('channel-update', { channelNumber: number, channel: channel, ignoreOnDemand: ignoreOnDemand} );
|
||||
}
|
||||
|
||||
async deleteChannel(number) {
|
||||
|
||||
@ -196,6 +196,8 @@ function video( channelService, fillerDB, db, programmingService, activeChannelS
|
||||
};
|
||||
} else if (lineupItem != null) {
|
||||
redirectChannels = lineupItem.redirectChannels;
|
||||
upperBounds = lineupItem.upperBounds;
|
||||
brandChannel = redirectChannels[ redirectChannels.length -1];
|
||||
} else {
|
||||
prog = programmingService.getCurrentProgramAndTimeElapsed(t0, channel);
|
||||
activeChannelService.peekChannel(t0, channel.number);
|
||||
@ -284,6 +286,7 @@ function video( channelService, fillerDB, db, programmingService, activeChannelS
|
||||
for (let i = redirectChannels.length-1; i >= 0; i--) {
|
||||
lineupItem = JSON.parse( JSON.stringify(lineupItem ));
|
||||
lineupItem.redirectChannels = redirectChannels;
|
||||
lineupItem.upperBounds = upperBounds;
|
||||
let u = upperBounds[i] + beginningOffset;
|
||||
if (typeof(u) !== 'undefined') {
|
||||
let u2 = upperBound;
|
||||
@ -385,6 +388,10 @@ function video( channelService, fillerDB, db, programmingService, activeChannelS
|
||||
activeChannelService.registerChannelActive(t0, redirectChannels[i].number);
|
||||
}
|
||||
let listener = (data) => {
|
||||
if (data.ignoreOnDemand) {
|
||||
console.log("Ignore channel update because it is from on-demand service");
|
||||
return;
|
||||
}
|
||||
let shouldStop = false;
|
||||
try {
|
||||
for (let i = 0; i < redirectChannels.length; i++) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user