@@ -72,9 +72,12 @@ def __init__(
7272 args = configure .empty ()
7373 configure .add_url (args , "output" , "-" , options ) # add piped output
7474 for i , url in enumerate (urls ): # add inputs
75+ opts = {** inopts , ** spec_inopts .get (i , {})}
7576 # check url (must be url and not fileobj)
76- configure .check_url (url , nodata = True , nofileobj = True )
77- configure .add_url (args , "input" , url , {** inopts , ** spec_inopts .get (i , {})})
77+ configure .check_url (
78+ url , nodata = True , nofileobj = True , format = opts .get ("f" , None )
79+ )
80+ configure .add_url (args , "input" , url , opts )
7881
7982 # configure output options
8083 use_ya = configure .finalize_media_read_opts (args )
@@ -97,29 +100,39 @@ def __init__(
97100 def specs (self ):
98101 """:list(str): list of specifiers of the streams"""
99102 self ._reader .wait ()
100- return self ._reader .streams and [v ["spec" ] for v in self ._reader .streams .values ()]
103+ return self ._reader .streams and [
104+ v ["spec" ] for v in self ._reader .streams .values ()
105+ ]
101106
102107 def types (self ):
103108 """:dict(str:str): media type associated with the streams (key)"""
104109 self ._reader .wait ()
105110 ts = {"v" : "video" , "a" : "audio" }
106- return self ._reader .streams and {v ["spec" ]: ts [v ["type" ]] for v in self ._reader .streams .values ()}
111+ return self ._reader .streams and {
112+ v ["spec" ]: ts [v ["type" ]] for v in self ._reader .streams .values ()
113+ }
107114
108115 def rates (self ):
109116 """:dict(str:int|Fraction): sample or frame rates associated with the streams (key)"""
110117 self ._reader .wait ()
111118 rates = self ._reader .rates
112- return self ._reader .streams and {v ["spec" ]: rates [k ] for k , v in self ._reader .streams .items ()}
119+ return self ._reader .streams and {
120+ v ["spec" ]: rates [k ] for k , v in self ._reader .streams .items ()
121+ }
113122
114123 def dtypes (self ):
115124 """:dict(str:str): frame/sample data type associated with the streams (key)"""
116125 self ._reader .wait ()
117- return self ._reader .streams and {v ["spec" ]: v ["dtype" ] for v in self ._reader .streams .values ()}
126+ return self ._reader .streams and {
127+ v ["spec" ]: v ["dtype" ] for v in self ._reader .streams .values ()
128+ }
118129
119130 def shapes (self ):
120131 """:dict(str:tuple(int)): frame/sample shape associated with the streams (key)"""
121132 self ._reader .wait ()
122- return self ._reader .streams and {v ["spec" ]: v ["shape" ] for v in self ._reader .streams .values ()}
133+ return self ._reader .streams and {
134+ v ["spec" ]: v ["shape" ] for v in self ._reader .streams .values ()
135+ }
123136
124137 def get_stream_info (self , spec ):
125138 id = self ._reader .find_id (spec )
0 commit comments