typed-ffmpeg-compatible 3.2.3__py3-none-any.whl → 3.2.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- typed_ffmpeg/_version.py +2 -2
- typed_ffmpeg/compile/compile_cli.py +5 -3
- {typed_ffmpeg_compatible-3.2.3.dist-info → typed_ffmpeg_compatible-3.2.4.dist-info}/METADATA +1 -1
- {typed_ffmpeg_compatible-3.2.3.dist-info → typed_ffmpeg_compatible-3.2.4.dist-info}/RECORD +8 -8
- {typed_ffmpeg_compatible-3.2.3.dist-info → typed_ffmpeg_compatible-3.2.4.dist-info}/WHEEL +0 -0
- {typed_ffmpeg_compatible-3.2.3.dist-info → typed_ffmpeg_compatible-3.2.4.dist-info}/entry_points.txt +0 -0
- {typed_ffmpeg_compatible-3.2.3.dist-info → typed_ffmpeg_compatible-3.2.4.dist-info}/licenses/LICENSE +0 -0
- {typed_ffmpeg_compatible-3.2.3.dist-info → typed_ffmpeg_compatible-3.2.4.dist-info}/top_level.txt +0 -0
typed_ffmpeg/_version.py
CHANGED
@@ -309,7 +309,8 @@ def parse_filter_complex(
|
|
309
309
|
Returns:
|
310
310
|
Updated stream mapping with new filter outputs added
|
311
311
|
"""
|
312
|
-
|
312
|
+
# Use re.split with negative lookbehind to handle escaped semicolons
|
313
|
+
filter_units = re.split(r"(?<!\\);", filter_complex)
|
313
314
|
|
314
315
|
for filter_unit in filter_units:
|
315
316
|
pattern = re.compile(
|
@@ -335,11 +336,12 @@ def parse_filter_complex(
|
|
335
336
|
|
336
337
|
# Parse filter parameters into key-value pairs
|
337
338
|
filter_params = {}
|
339
|
+
param_str = param_str and param_str.strip()
|
338
340
|
if param_str:
|
339
|
-
param_parts =
|
341
|
+
param_parts = re.split(r"(?<!\\):", param_str)
|
340
342
|
for part in param_parts:
|
341
343
|
if "=" in part:
|
342
|
-
key, value =
|
344
|
+
key, value = re.split(r"(?<!\\)=", part, 1)
|
343
345
|
filter_params[key.strip()] = value.strip()
|
344
346
|
|
345
347
|
assert isinstance(filter_name, str), f"Expected filter name, got {filter_name}"
|
{typed_ffmpeg_compatible-3.2.3.dist-info → typed_ffmpeg_compatible-3.2.4.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: typed-ffmpeg-compatible
|
3
|
-
Version: 3.2.
|
3
|
+
Version: 3.2.4
|
4
4
|
Summary: Modern Python FFmpeg wrappers offer comprehensive support for complex filters, complete with detailed typing and documentation.
|
5
5
|
Author-email: lucemia <lucemia@gmail.com>
|
6
6
|
License-Expression: MIT
|
@@ -1,5 +1,5 @@
|
|
1
1
|
typed_ffmpeg/__init__.py,sha256=n1SZfENc9xhZ0eA3ZzkBNPuIY-Pt3-rOwB8-uUj5olU,1592
|
2
|
-
typed_ffmpeg/_version.py,sha256=
|
2
|
+
typed_ffmpeg/_version.py,sha256=RFt1Qs0Gxv7mhjBYwRXtP2Na7ShtFF9luYHvh8kkWxM,511
|
3
3
|
typed_ffmpeg/base.py,sha256=C5Tqbx2I0c-09D7aXKZoGkspu-lAAeAhuOns5zr3PXQ,6304
|
4
4
|
typed_ffmpeg/exceptions.py,sha256=D4SID6WOwkjVV8O8mAjrEDHWn-8BRDnK_jteaDof1SY,2474
|
5
5
|
typed_ffmpeg/filters.py,sha256=_lBpGZgPHK3KgGVrw-TCdQEsBRuEXVIgwggYNGd80MU,110076
|
@@ -13,7 +13,7 @@ typed_ffmpeg/common/cache.py,sha256=j0JvfX7jewLpdJWxgo7Pwze0BkUJdYGHX2uGR8BZ-9M,
|
|
13
13
|
typed_ffmpeg/common/schema.py,sha256=qM8yfMX9UU3EAQSNsTrr-SAmyqKx8eQCXTtu3RJWkEk,19673
|
14
14
|
typed_ffmpeg/common/serialize.py,sha256=dLim0DBP5CdJ1JiMV9xEmmh1XMSIhBOWs61EopAL15s,7719
|
15
15
|
typed_ffmpeg/compile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
|
-
typed_ffmpeg/compile/compile_cli.py,sha256
|
16
|
+
typed_ffmpeg/compile/compile_cli.py,sha256=SwXVtEK1-Bl-KWpFESMpX2On7nOGAAmsDQWGmnv3Dnw,31741
|
17
17
|
typed_ffmpeg/compile/compile_json.py,sha256=YCiTyfAnUVSbFr7BiQpmJYs13K5sa-xo77Iih33mb6I,992
|
18
18
|
typed_ffmpeg/compile/compile_python.py,sha256=oo4e8Ldwk0OkrZtHucfuGR5JDFF8xY8omNKPMDyUpQ8,11506
|
19
19
|
typed_ffmpeg/compile/context.py,sha256=macQ3HhEJ73j_WbWYtU9GCQCzcB_KQGAPimcuU-WOac,10946
|
@@ -50,9 +50,9 @@ typed_ffmpeg/utils/view.py,sha256=QCSlQoQkRBI-T0sWjiywGgM9DlKd8Te3CB2ZYX-pEVU,34
|
|
50
50
|
typed_ffmpeg/utils/lazy_eval/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
51
51
|
typed_ffmpeg/utils/lazy_eval/operator.py,sha256=QWybd-UH3VdDa8kgWkqAMi3WV0b0WF1d1JixQr6is2E,4136
|
52
52
|
typed_ffmpeg/utils/lazy_eval/schema.py,sha256=WSg-E3MS3itN1AT6Dq4Z9btnRHEReuN3o6zruXou7h4,9623
|
53
|
-
typed_ffmpeg_compatible-3.2.
|
54
|
-
typed_ffmpeg_compatible-3.2.
|
55
|
-
typed_ffmpeg_compatible-3.2.
|
56
|
-
typed_ffmpeg_compatible-3.2.
|
57
|
-
typed_ffmpeg_compatible-3.2.
|
58
|
-
typed_ffmpeg_compatible-3.2.
|
53
|
+
typed_ffmpeg_compatible-3.2.4.dist-info/licenses/LICENSE,sha256=8Aaya5i_09Cou2i3QMxTwz6uHGzi_fGA4uhkco07-A4,1066
|
54
|
+
typed_ffmpeg_compatible-3.2.4.dist-info/METADATA,sha256=q3R0Y2gpwPQ1cLL04rvq8RySvoJvsb8xE1XANzruez0,8385
|
55
|
+
typed_ffmpeg_compatible-3.2.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
56
|
+
typed_ffmpeg_compatible-3.2.4.dist-info/entry_points.txt,sha256=kUQvZ27paV-07qtkIFV-emKsYtjFOTw9kknBRSXPs04,45
|
57
|
+
typed_ffmpeg_compatible-3.2.4.dist-info/top_level.txt,sha256=vuASJGVRQiNmhWY1pt0RXESWSNkknWXqWLIRAU7H_L4,13
|
58
|
+
typed_ffmpeg_compatible-3.2.4.dist-info/RECORD,,
|
File without changes
|
{typed_ffmpeg_compatible-3.2.3.dist-info → typed_ffmpeg_compatible-3.2.4.dist-info}/entry_points.txt
RENAMED
File without changes
|
{typed_ffmpeg_compatible-3.2.3.dist-info → typed_ffmpeg_compatible-3.2.4.dist-info}/licenses/LICENSE
RENAMED
File without changes
|
{typed_ffmpeg_compatible-3.2.3.dist-info → typed_ffmpeg_compatible-3.2.4.dist-info}/top_level.txt
RENAMED
File without changes
|