11from typing import Union
22
33from videodb ._constants import ApiPath
4- from videodb .asset import VideoAsset , AudioAsset , ImageAsset
4+ from videodb .asset import VideoAsset , AudioAsset , ImageAsset , TextAsset
55
66
77class Timeline (object ):
@@ -23,14 +23,22 @@ def to_json(self) -> dict:
2323 timeline_json .append (asset .to_json ())
2424 return {"timeline" : timeline_json }
2525
26- def add_inline (self , asset : Union [ VideoAsset ] ) -> None :
26+ def add_inline (self , asset : VideoAsset ) -> None :
2727 if not isinstance (asset , VideoAsset ):
2828 raise ValueError ("asset must be of type VideoAsset" )
2929 self ._timeline .append (asset )
3030
31- def add_overlay (self , start : int , asset : Union [AudioAsset , ImageAsset ]) -> None :
32- if not isinstance (asset , AudioAsset ) and not isinstance (asset , ImageAsset ):
33- raise ValueError ("asset must be of type AudioAsset or ImageAsset" )
31+ def add_overlay (
32+ self , start : int , asset : Union [AudioAsset , ImageAsset , TextAsset ]
33+ ) -> None :
34+ if (
35+ not isinstance (asset , AudioAsset )
36+ and not isinstance (asset , ImageAsset )
37+ and not isinstance (asset , TextAsset )
38+ ):
39+ raise ValueError (
40+ "asset must be of type AudioAsset, ImageAsset or TextAsset"
41+ )
3442 self ._timeline .append ((start , asset ))
3543
3644 def generate_stream (self ) -> str :
0 commit comments