Compare commits
27 Commits
296ad969f4
...
kat/create
Author | SHA1 | Date | |
---|---|---|---|
5eac3d9d40 | |||
64593f09b7 | |||
e20b68799f | |||
378878967a | |||
251ebe7056 | |||
615e4d5467 | |||
a4f602d651 | |||
c48512fc45 | |||
d75822c465 | |||
4feeba5150 | |||
e1237363f0 | |||
b1550b31c5 | |||
81b9fd9f12 | |||
d3559ede21 | |||
ef6ccca3f9 | |||
f781e9648f | |||
18d2eea029 | |||
a95bdab8bf | |||
eaeb1ed0ea | |||
f9d6377fe4 | |||
30cf72de78 | |||
fd49dec34c | |||
cdd1cdd526 | |||
bce363e8ff | |||
80f609b8a2 | |||
6205e9a353 | |||
12f7e1f115 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,3 +3,4 @@ dist
|
|||||||
.direnv
|
.direnv
|
||||||
/after.txt
|
/after.txt
|
||||||
/before.txt
|
/before.txt
|
||||||
|
**/__pycache__/**
|
||||||
|
519
src/index.tsx
519
src/index.tsx
File diff suppressed because it is too large
Load Diff
@@ -20,6 +20,7 @@ query GetShots(
|
|||||||
user {
|
user {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
|
falsePositiveScore
|
||||||
createdAt @include(if: $includeCreatedAt)
|
createdAt @include(if: $includeCreatedAt)
|
||||||
updatedAt @include(if: $includeUpdatedAt)
|
updatedAt @include(if: $includeUpdatedAt)
|
||||||
cueObjectFeatures @include(if: $includeCueObjectFeatures) {
|
cueObjectFeatures @include(if: $includeCueObjectFeatures) {
|
||||||
|
@@ -51,6 +51,7 @@ query GetStreamMonitoringDetails($videoId: Int!) {
|
|||||||
isCompleted
|
isCompleted
|
||||||
uploadCompletionCursor
|
uploadCompletionCursor
|
||||||
lastIntendedSegmentBound
|
lastIntendedSegmentBound
|
||||||
|
initPlaylistUploadStatus
|
||||||
}
|
}
|
||||||
currentProcessing {
|
currentProcessing {
|
||||||
errors {
|
errors {
|
||||||
@@ -137,12 +138,57 @@ query GetVideo($videoId: Int!) {
|
|||||||
playlist {
|
playlist {
|
||||||
segmentDurations
|
segmentDurations
|
||||||
}
|
}
|
||||||
|
homographyHistory {
|
||||||
|
crop {
|
||||||
|
left
|
||||||
|
top
|
||||||
|
width
|
||||||
|
height
|
||||||
|
}
|
||||||
|
pockets {
|
||||||
|
left
|
||||||
|
top
|
||||||
|
width
|
||||||
|
height
|
||||||
|
}
|
||||||
|
sourcePoints {
|
||||||
|
topLeft {
|
||||||
|
x
|
||||||
|
y
|
||||||
|
}
|
||||||
|
topSide {
|
||||||
|
x
|
||||||
|
y
|
||||||
|
}
|
||||||
|
topRight {
|
||||||
|
x
|
||||||
|
y
|
||||||
|
}
|
||||||
|
bottomLeft {
|
||||||
|
x
|
||||||
|
y
|
||||||
|
}
|
||||||
|
bottomSide {
|
||||||
|
x
|
||||||
|
y
|
||||||
|
}
|
||||||
|
bottomRight {
|
||||||
|
x
|
||||||
|
y
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
stream {
|
stream {
|
||||||
|
streamSegmentType
|
||||||
segments {
|
segments {
|
||||||
segmentIndex
|
segmentIndex
|
||||||
endFrameIndex
|
endFrameIndex
|
||||||
framesPerSecond
|
framesPerSecond
|
||||||
}
|
}
|
||||||
|
resolution {
|
||||||
|
width
|
||||||
|
height
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -165,3 +211,23 @@ query GetMedianRunForVideo($videoId: Int!) {
|
|||||||
medianRun
|
medianRun
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
query GetVideoForClipTimes($videoId: Int!) {
|
||||||
|
getVideo(videoId: $videoId) {
|
||||||
|
id
|
||||||
|
playlist {
|
||||||
|
segmentDurations
|
||||||
|
}
|
||||||
|
stream {
|
||||||
|
id
|
||||||
|
streamSegmentType
|
||||||
|
segments {
|
||||||
|
uploaded
|
||||||
|
valid
|
||||||
|
segmentIndex
|
||||||
|
endFrameIndex
|
||||||
|
framesPerSecond
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -24,6 +24,18 @@ mutation GetHlsInitUploadLink($videoId: Int!) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mutation SetSegmentDuration(
|
||||||
|
$videoId: Int!
|
||||||
|
$segmentIndex: Int!
|
||||||
|
$duration: Float!
|
||||||
|
) {
|
||||||
|
setSegmentDuration(
|
||||||
|
videoId: $videoId
|
||||||
|
segmentIndex: $segmentIndex
|
||||||
|
duration: $duration
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
mutation EditUploadStream(
|
mutation EditUploadStream(
|
||||||
$videoId: Int!
|
$videoId: Int!
|
||||||
$videoMetadataInput: VideoMetadataInput!
|
$videoMetadataInput: VideoMetadataInput!
|
||||||
|
@@ -24,6 +24,7 @@ type Query {
|
|||||||
after: String = null
|
after: String = null
|
||||||
filters: VideoFilterInput = null
|
filters: VideoFilterInput = null
|
||||||
): VideoHistoryGQL!
|
): VideoHistoryGQL!
|
||||||
|
getUserTags: [TagGQL!]!
|
||||||
getVideo(videoId: Int!): VideoGQL!
|
getVideo(videoId: Int!): VideoGQL!
|
||||||
getVideos(videoIds: [Int!]!): [VideoGQL!]!
|
getVideos(videoIds: [Int!]!): [VideoGQL!]!
|
||||||
}
|
}
|
||||||
@@ -94,11 +95,16 @@ input FilterInput @oneOf {
|
|||||||
bankDistance: RangeFilter
|
bankDistance: RangeFilter
|
||||||
kickAngle: RangeFilter
|
kickAngle: RangeFilter
|
||||||
kickDistance: RangeFilter
|
kickDistance: RangeFilter
|
||||||
|
cueAngleAfterObject: RangeFilter
|
||||||
|
cueSpeedAfterObject: RangeFilter
|
||||||
|
spinType: [String!]
|
||||||
|
falsePositiveScore: RangeFilter
|
||||||
}
|
}
|
||||||
|
|
||||||
input RangeFilter {
|
input RangeFilter {
|
||||||
lessThan: Float = null
|
lessThan: Float = null
|
||||||
greaterThanEqualTo: Float = null
|
greaterThanEqualTo: Float = null
|
||||||
|
includeOnNone: Boolean! = false
|
||||||
}
|
}
|
||||||
|
|
||||||
enum PocketEnum {
|
enum PocketEnum {
|
||||||
@@ -161,6 +167,7 @@ type ShotGQL {
|
|||||||
serializedShotPaths: SerializedShotPathsGQL
|
serializedShotPaths: SerializedShotPathsGQL
|
||||||
user: UserGQL
|
user: UserGQL
|
||||||
annotations: [ShotAnnotationGQL!]!
|
annotations: [ShotAnnotationGQL!]!
|
||||||
|
falsePositiveScore: Float
|
||||||
}
|
}
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@@ -269,6 +276,8 @@ type UploadStreamGQL {
|
|||||||
createdAt: DateTime!
|
createdAt: DateTime!
|
||||||
updatedAt: DateTime!
|
updatedAt: DateTime!
|
||||||
segments: [UploadSegmentGQL!]!
|
segments: [UploadSegmentGQL!]!
|
||||||
|
resolution: VideoResolutionGQL!
|
||||||
|
streamSegmentType: StreamSegmentTypeEnum!
|
||||||
}
|
}
|
||||||
|
|
||||||
enum InitPlaylistUploadStatusEnum {
|
enum InitPlaylistUploadStatusEnum {
|
||||||
@@ -287,10 +296,20 @@ type UploadSegmentGQL {
|
|||||||
valid: Boolean!
|
valid: Boolean!
|
||||||
endFrameIndex: Int
|
endFrameIndex: Int
|
||||||
framesPerSecond: Float
|
framesPerSecond: Float
|
||||||
durationsInSeconds: Float
|
durationInSeconds: Float
|
||||||
linksRequested: Int!
|
linksRequested: Int!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type VideoResolutionGQL {
|
||||||
|
width: Int
|
||||||
|
height: Int
|
||||||
|
}
|
||||||
|
|
||||||
|
enum StreamSegmentTypeEnum {
|
||||||
|
FRAGMENTED_MP4
|
||||||
|
RB_CHUNKED_MP4
|
||||||
|
}
|
||||||
|
|
||||||
type HLSPlaylistGQL {
|
type HLSPlaylistGQL {
|
||||||
videoId: Int!
|
videoId: Int!
|
||||||
m3u8Text: String!
|
m3u8Text: String!
|
||||||
@@ -355,6 +374,12 @@ input VideoFilterInput {
|
|||||||
requireCursorCompletion: Boolean! = true
|
requireCursorCompletion: Boolean! = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type TagGQL {
|
||||||
|
name: String!
|
||||||
|
id: Int!
|
||||||
|
group: String
|
||||||
|
}
|
||||||
|
|
||||||
type Mutation {
|
type Mutation {
|
||||||
createBucketSet(params: CreateBucketSetInput!): BucketSetGQL!
|
createBucketSet(params: CreateBucketSetInput!): BucketSetGQL!
|
||||||
setLoggerLevel(path: String!, level: String!): Boolean!
|
setLoggerLevel(path: String!, level: String!): Boolean!
|
||||||
@@ -365,7 +390,11 @@ type Mutation {
|
|||||||
): CreateUploadStreamReturn!
|
): CreateUploadStreamReturn!
|
||||||
getUploadLink(videoId: Int!, segmentIndex: Int!): GetUploadLinkReturn!
|
getUploadLink(videoId: Int!, segmentIndex: Int!): GetUploadLinkReturn!
|
||||||
getHlsInitUploadLink(videoId: Int!): GetUploadLinkReturn!
|
getHlsInitUploadLink(videoId: Int!): GetUploadLinkReturn!
|
||||||
setSegmentDuration(videoId: Int!, segmentId: Int!, duration: Float!): Boolean!
|
setSegmentDuration(
|
||||||
|
videoId: Int!
|
||||||
|
segmentIndex: Int!
|
||||||
|
duration: Float!
|
||||||
|
): Boolean!
|
||||||
editUploadStream(videoId: Int!, videoMetadata: VideoMetadataInput!): Boolean!
|
editUploadStream(videoId: Int!, videoMetadata: VideoMetadataInput!): Boolean!
|
||||||
deleteVideo(videoId: Int!): Boolean!
|
deleteVideo(videoId: Int!): Boolean!
|
||||||
}
|
}
|
||||||
@@ -400,6 +429,8 @@ input VideoMetadataInput {
|
|||||||
lastIntendedSegmentBound: Int = null
|
lastIntendedSegmentBound: Int = null
|
||||||
streamSegmentType: StreamSegmentTypeEnum = null
|
streamSegmentType: StreamSegmentTypeEnum = null
|
||||||
endStream: Boolean! = false
|
endStream: Boolean! = false
|
||||||
|
resolution: VideoResolution = null
|
||||||
|
framesPerSecond: Float = null
|
||||||
}
|
}
|
||||||
|
|
||||||
input UploadStreamMetadataInput {
|
input UploadStreamMetadataInput {
|
||||||
@@ -420,7 +451,7 @@ enum DeviceTypeEnum {
|
|||||||
BROWSER
|
BROWSER
|
||||||
}
|
}
|
||||||
|
|
||||||
enum StreamSegmentTypeEnum {
|
input VideoResolution {
|
||||||
FRAGMENTED_MP4
|
width: Int!
|
||||||
RB_CHUNKED_MP4
|
height: Int!
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user