- const playlist = await VideoStreamingPlaylistModel.loadOrGenerate(video)
-
- if (!playlist.playlistFilename) {
- playlist.playlistFilename = generateHLSMasterPlaylistFilename(video.isLive)
- }
-
- if (!playlist.segmentsSha256Filename) {
- playlist.segmentsSha256Filename = generateHlsSha256SegmentsFilename(video.isLive)
- }
-
- playlist.p2pMediaLoaderInfohashes = []
- playlist.p2pMediaLoaderPeerVersion = P2P_MEDIA_LOADER_PEER_VERSION
-
- playlist.type = VideoStreamingPlaylistType.HLS
-
- await playlist.save()
+ const playlist = await retryTransactionWrapper(() => {
+ return sequelizeTypescript.transaction(async transaction => {
+ return VideoStreamingPlaylistModel.loadOrGenerate(video, transaction)
+ })
+ })