reinierlakhan
d728c4ab7d
python-codecs: arm zygote fork self-destruct at call time, not first frame ( #2139 )
...
CodecFork.generateVideoFramesLibav and generateVideoFramesGstreamer are async
generator functions, so their bodies -- including the call_later(10, timeoutExit)
that lets the worker kill itself -- do not run until the caller requests the first
frame. The PluginFork handle is discarded at handout in LibavGenerator and
GstreamerGenerator, so a worker that is handed a session but never iterated has no
watchdog and no reachable terminate(), and idles for the life of the plugin host.
aclose() on a never-started async generator returns without executing the body, so
even a consumer that closes the RPC proxy cannot trigger the self-destruct.
Make the two methods coroutines that return the inner generator. rpc.py does
await maybe_await(invoke(*args)) before serializing, so the async iterator proxy
seen by the caller is unchanged, but the watchdog is armed as soon as the fork is
committed to a session.
Also keep the PluginFork handle at the call sites and terminate it if the session
cannot be handed to the caller.
Fixes #2138
Claude-Session: https://claude.ai/code/session_018kjDzffi8VZKA1mn6nrGfo
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-06 22:54:35 -07:00
Koushik Dutta
fbdefbe06a
python-codecs: remove pillow simd
2024-11-08 09:42:52 -08:00
Koushik Dutta
905a9aec21
python plugins: fix linux platform check
2024-05-03 21:58:35 -07:00
Koushik Dutta
fa5b9f66db
python-codecs: Fix process exit leak
2024-03-23 17:45:38 -07:00
Koushik Dutta
bb610f2bb1
python-codecs: gstreamer now optional
2024-03-23 12:33:37 -07:00
Koushik Dutta
61c32571d8
python-codecs: publish beta
2024-03-06 20:42:14 -08:00
Koushik Dutta
c5f33f8eb5
server/python-codecs: add support for optional requirements
2024-03-06 11:11:45 -08:00
Koushik Dutta
04de63ae8e
python-codecs: weight the image reader to prefer snapshot plugin. tf/ov publish log spam betas.
2024-03-02 10:06:26 -08:00
Koushik Dutta
eab0746a0a
python-codecs: fix erroneous deletion
2023-11-17 20:48:01 -08:00
Koushik Dutta
27a01a7df8
snapshot/python-codecs: move image writer
2023-11-17 10:41:16 -08:00
Koushik Dutta
1cf0327d2e
python-codecs: todo remove comments
2023-11-09 14:28:24 -08:00
Koushik Dutta
6d5fedc931
sdk: remove filter from VideoFrameGenerator
2023-11-09 10:24:55 -08:00
Koushik Dutta
52692c0912
python-codecs: fix potential leak/hang
2023-10-25 08:49:10 -07:00
Koushik Dutta
96219456f3
python-codecs: fix startup analyze duration and probe size
2023-10-23 09:34:11 -07:00
Koushik Dutta
0e797c6ac6
python-codecs: improve pyav for zero latency
2023-10-23 09:08:56 -07:00
Koushik Dutta
06c8b397f0
python-codecs: h265 parsing fixes
2023-10-17 11:02:39 -07:00
Koushik Dutta
f8bcf196d3
python-codecs: use non hw accelerated h265 by default
2023-10-17 10:38:14 -07:00
Koushik Dutta
9dd5e10eba
python-codecs: fix float being passed to pil resize args
2023-09-25 07:12:05 -07:00
Koushik Dutta
6ada4854bc
python-codecs: reduce jpeg quality for better file sizes
2023-09-09 13:45:20 -07:00
Koushik Dutta
878ddbdf1c
python-codecs: fix windows leak
2023-08-31 18:10:10 -07:00
Koushik Dutta
49dc1d8f36
python-codecs: add support for gstreamer jpeg output, publish beta
2023-08-29 20:54:17 -07:00
Koushik Dutta
a36b3066fe
python-codecs: fix corrupt frames
2023-08-15 21:27:56 -07:00
Koushik Dutta
feec534b86
python-codecs: publish
2023-08-11 09:29:27 -07:00
Brett Jia
2d62944ac1
python-codecs: make annotations compatible to pre-3.10 ( #1000 )
2023-08-06 09:54:08 -07:00
Koushik Dutta
b564553998
python-codecs: rollback sdk bug
2023-08-06 09:53:26 -07:00
Koushik Dutta
42eb4fc80b
python-codecs: dont letterbox resize requests.
2023-07-31 00:56:03 -07:00
Koushik Dutta
16199463ec
python-codecs: publsih
2023-07-28 00:02:17 -07:00
Koushik Dutta
220c010232
python-codecs: fix zygote pop usage. implement firstFrameOnly pipeline blocking.
2023-07-28 00:01:01 -07:00
Koushik Dutta
02238f99b2
python-codecs: use zygote to speed up inference startup
2023-07-27 23:52:52 -07:00
Koushik Dutta
8f83894e49
python-codecs: implement hang protection
2023-06-11 14:24:53 -07:00
Koushik Dutta
a46235d095
python-codecs: publish
2023-06-10 15:25:56 -07:00
Koushik Dutta
7c41516cce
python-codecs: fix stride handling
2023-06-07 15:10:40 -07:00
Koushik Dutta
1f659d9a72
python-codecs: move dimensions into caps
2023-05-27 23:09:42 -07:00
Koushik Dutta
dd98f12f2a
python-codecs: fix pil rgba to jpg. fix image close race condition.
2023-05-27 22:46:55 -07:00
Koushik Dutta
c72ea24794
python-codecs: fix vaapi post procesisng
2023-05-27 10:22:31 -07:00
Koushik Dutta
1ebcf32998
python-codecs: fix vaapi gray output
2023-05-26 14:16:50 -07:00
Koushik Dutta
79765ba58e
python-codecs: fix assert spam, code cleanups
2023-05-26 08:56:27 -07:00
Koushik Dutta
ff4665520c
python-codecs: bug fixes
2023-05-25 23:34:49 -07:00
Koushik Dutta
be5b810335
python-codecs: cleanup code, add some fast paths
2023-05-25 23:08:15 -07:00
Koushik Dutta
fdc99b7fa6
python-codecs: major refactor to support hw acceleration and on demand color space conversion
2023-05-25 10:48:25 -07:00
Koushik Dutta
edd071739f
python-codecs: dont feed preroll into queue
2023-05-21 22:48:06 -07:00
Koushik Dutta
e3d4800e4f
python-codecs: implement image close
2023-05-17 21:03:51 -07:00
Koushik Dutta
866706505a
python-codecs: support vaapi color conversion
2023-05-15 14:37:22 -07:00
Koushik Dutta
7511abf768
various plugins: publish rpc gc churn fix
2023-05-13 14:11:32 -07:00
Koushik Dutta
9e7b57f154
python-codecs: fix process exit before aclose finish. publish betas.
2023-05-12 21:57:34 -07:00
Koushik Dutta
205fdb0222
fix per frame rpc gc churn
2023-05-12 20:26:18 -07:00
Koushik Dutta
9d8345e901
videoanalysis/motion: implement video rate control
2023-05-03 15:57:37 -07:00
Koushik Dutta
2609e301fe
python-codecs: fix gray conversion
2023-04-26 18:40:22 -07:00
Koushik Dutta
e9844528aa
python-codecs: add timestamps
2023-04-24 18:32:43 -07:00
Koushik Dutta
0609fc8986
python-codecs: publish typings fix
2023-04-24 11:46:14 -07:00