Generate thumb on stream start
This commit is contained in:
@ -13,14 +13,16 @@ public class NostrStreamManager : IStreamManager
|
||||
private readonly StreamManagerContext _context;
|
||||
private readonly StreamEventBuilder _eventBuilder;
|
||||
private readonly IDvrStore _dvrStore;
|
||||
private readonly ThumbnailService _thumbnailService;
|
||||
|
||||
public NostrStreamManager(ILogger<NostrStreamManager> logger, StreamManagerContext context,
|
||||
StreamEventBuilder eventBuilder, IDvrStore dvrStore)
|
||||
StreamEventBuilder eventBuilder, IDvrStore dvrStore, ThumbnailService thumbnailService)
|
||||
{
|
||||
_logger = logger;
|
||||
_context = context;
|
||||
_eventBuilder = eventBuilder;
|
||||
_dvrStore = dvrStore;
|
||||
_thumbnailService = thumbnailService;
|
||||
}
|
||||
|
||||
public UserStream GetStream()
|
||||
@ -51,6 +53,10 @@ public class NostrStreamManager : IStreamManager
|
||||
}
|
||||
|
||||
await UpdateStreamState(UserStreamState.Live);
|
||||
|
||||
#pragma warning disable CS4014
|
||||
Task.Run(async () => await _thumbnailService.GenerateThumb(_context.UserStream));
|
||||
#pragma warning restore CS4014
|
||||
}
|
||||
|
||||
public async Task StreamStopped()
|
||||
|
@ -13,15 +13,17 @@ public class StreamManagerFactory
|
||||
private readonly StreamEventBuilder _eventBuilder;
|
||||
private readonly IServiceProvider _serviceProvider;
|
||||
private readonly IDvrStore _dvrStore;
|
||||
private readonly ThumbnailService _thumbnailService;
|
||||
|
||||
public StreamManagerFactory(StreamerContext db, ILoggerFactory loggerFactory, StreamEventBuilder eventBuilder,
|
||||
IServiceProvider serviceProvider, IDvrStore dvrStore)
|
||||
IServiceProvider serviceProvider, IDvrStore dvrStore, ThumbnailService thumbnailService)
|
||||
{
|
||||
_db = db;
|
||||
_loggerFactory = loggerFactory;
|
||||
_eventBuilder = eventBuilder;
|
||||
_serviceProvider = serviceProvider;
|
||||
_dvrStore = dvrStore;
|
||||
_thumbnailService = thumbnailService;
|
||||
}
|
||||
|
||||
public async Task<IStreamManager> CreateStream(StreamInfo info)
|
||||
@ -80,7 +82,7 @@ public class StreamManagerFactory
|
||||
EdgeApi = new SrsApi(_serviceProvider.GetRequiredService<HttpClient>(), new Uri($"http://{stream.EdgeIp}:1985"))
|
||||
};
|
||||
|
||||
return new NostrStreamManager(_loggerFactory.CreateLogger<NostrStreamManager>(), ctx, _eventBuilder, _dvrStore);
|
||||
return new NostrStreamManager(_loggerFactory.CreateLogger<NostrStreamManager>(), ctx, _eventBuilder, _dvrStore, _thumbnailService);
|
||||
}
|
||||
|
||||
public async Task<IStreamManager> ForStream(Guid id)
|
||||
@ -100,7 +102,7 @@ public class StreamManagerFactory
|
||||
EdgeApi = new SrsApi(_serviceProvider.GetRequiredService<HttpClient>(), new Uri($"http://{stream.EdgeIp}:1985"))
|
||||
};
|
||||
|
||||
return new NostrStreamManager(_loggerFactory.CreateLogger<NostrStreamManager>(), ctx, _eventBuilder, _dvrStore);
|
||||
return new NostrStreamManager(_loggerFactory.CreateLogger<NostrStreamManager>(), ctx, _eventBuilder, _dvrStore, _thumbnailService);
|
||||
}
|
||||
|
||||
public async Task<IStreamManager> ForCurrentStream(string pubkey)
|
||||
@ -120,7 +122,7 @@ public class StreamManagerFactory
|
||||
EdgeApi = new SrsApi(_serviceProvider.GetRequiredService<HttpClient>(), new Uri($"http://{stream.EdgeIp}:1985"))
|
||||
};
|
||||
|
||||
return new NostrStreamManager(_loggerFactory.CreateLogger<NostrStreamManager>(), ctx, _eventBuilder, _dvrStore);
|
||||
return new NostrStreamManager(_loggerFactory.CreateLogger<NostrStreamManager>(), ctx, _eventBuilder, _dvrStore, _thumbnailService);
|
||||
}
|
||||
|
||||
public async Task<IStreamManager> ForStream(StreamInfo info)
|
||||
@ -148,6 +150,6 @@ public class StreamManagerFactory
|
||||
EdgeApi = new SrsApi(_serviceProvider.GetRequiredService<HttpClient>(), new Uri($"http://{stream.EdgeIp}:1985"))
|
||||
};
|
||||
|
||||
return new NostrStreamManager(_loggerFactory.CreateLogger<NostrStreamManager>(), ctx, _eventBuilder, _dvrStore);
|
||||
return new NostrStreamManager(_loggerFactory.CreateLogger<NostrStreamManager>(), ctx, _eventBuilder, _dvrStore, _thumbnailService);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user