-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPublicStreamAsset.cs
More file actions
54 lines (42 loc) · 1.95 KB
/
PublicStreamAsset.cs
File metadata and controls
54 lines (42 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
namespace ProcessMyMedia.Samples
{
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Microsoft.Extensions.Configuration;
using WorkflowCore.Interface;
using WorkflowCore.Models;
public class PublicStreamAsset : WofkflowSampleBase<PublicStreamAsset.PublicStreamAssetWorkflow, PublicStreamAsset.PublicStreamAssetWorkflowData>
{
public PublicStreamAsset(IConfigurationRoot configuration) : base(configuration)
{
}
protected override PublicStreamAssetWorkflowData WorflowDatas => new PublicStreamAssetWorkflowData()
{
IntputFilePath = Path.Combine(Directory.GetCurrentDirectory(), @"Assets\Asset2\ignite.mp4"),
};
public class PublicStreamAssetWorkflow : IWorkflow<PublicStreamAssetWorkflowData>
{
public string Id => SampleBase.WORKFLOW_NAME;
public int Version => 1;
public void Build(IWorkflowBuilder<PublicStreamAssetWorkflowData> builder)
{
builder
.UseDefaultErrorBehavior(WorkflowErrorHandling.Terminate)
.StartWith<Tasks.EncodeFileBuiltInPresetTask>()
.Input(task => task.FilePath, data => data.IntputFilePath)
.Input(task => task.Preset, data => Model.BuiltInPreset.AdaptiveStreaming.ToString())
.Output(data => data.AssetName, task => task.Output.Job.Outputs.First().Name)
.Then<Tasks.StreamTask>()
.Input(task => task.AssetName, data => data.AssetName)
.Output(data => data.StreamingUrls, task => task.Output.StreamingUrls);
}
}
public class PublicStreamAssetWorkflowData
{
public string IntputFilePath { get; set; }
public string AssetName { get; set; }
public List<string> StreamingUrls { get; set; }
}
}
}