import { SelectOptionsItem } from 'src/types/select-options-item.model'
-import { Component, Input, OnInit } from '@angular/core'
+import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core'
import { FormGroup } from '@angular/forms'
-import { ServerConfig } from '@shared/models'
+import { HTMLServerConfig } from '@shared/models'
import { ConfigService } from '../shared/config.service'
import { EditConfigurationService, ResolutionOption } from './edit-configuration.service'
templateUrl: './edit-vod-transcoding.component.html',
styleUrls: [ './edit-custom-config.component.scss' ]
})
-export class EditVODTranscodingComponent implements OnInit {
+export class EditVODTranscodingComponent implements OnInit, OnChanges {
@Input() form: FormGroup
@Input() formErrors: any
- @Input() serverConfig: ServerConfig
+ @Input() serverConfig: HTMLServerConfig
transcodingThreadOptions: SelectOptionsItem[] = []
+ transcodingProfiles: SelectOptionsItem[] = []
resolutions: ResolutionOption[] = []
+ additionalVideoExtensions = ''
+
constructor (
private configService: ConfigService,
private editConfigurationService: EditConfigurationService
this.checkTranscodingFields()
}
- getAvailableTranscodingProfile () {
+ ngOnChanges (changes: SimpleChanges) {
+ if (changes['serverConfig']) {
+ this.transcodingProfiles = this.buildAvailableTranscodingProfile()
+
+ this.additionalVideoExtensions = this.serverConfig.video.file.extensions.join(' ')
+ }
+ }
+
+ buildAvailableTranscodingProfile () {
const profiles = this.serverConfig.transcoding.availableProfiles
return profiles.map(p => {