From f467cb005d2255259d83b6d156940b4694da5b91 Mon Sep 17 00:00:00 2001 From: ziesorx Date: Thu, 25 Sep 2025 03:11:22 +0700 Subject: [PATCH] feat: update max_streams --- app.py | 7 ++++++- config.json | 2 +- core/streaming/__init__.py | 5 +++-- core/streaming/manager.py | 9 ++++++++- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/app.py b/app.py index 8c8a194..6338401 100644 --- a/app.py +++ b/app.py @@ -76,7 +76,7 @@ else: "poll_interval_ms": 100, "reconnect_interval_sec": 5, "target_fps": 10, - "max_streams": 5, + "max_streams": 20, "max_retries": 3 } logger.warning(f"Configuration file {config_path} not found, using defaults") @@ -85,6 +85,11 @@ else: os.makedirs("models", exist_ok=True) logger.info("Ensured models directory exists") +# Initialize stream manager with config value +from core.streaming import initialize_stream_manager +initialize_stream_manager(max_streams=config.get('max_streams', 10)) +logger.info(f"Initialized stream manager with max_streams={config.get('max_streams', 10)}") + # Store cached frames for REST API access (temporary storage) latest_frames = {} diff --git a/config.json b/config.json index 311bbf4..854b102 100644 --- a/config.json +++ b/config.json @@ -1,6 +1,6 @@ { "poll_interval_ms": 100, - "max_streams": 5, + "max_streams": 20, "target_fps": 2, "reconnect_interval_sec": 5, "max_retries": -1 diff --git a/core/streaming/__init__.py b/core/streaming/__init__.py index 806b086..c4c40dc 100644 --- a/core/streaming/__init__.py +++ b/core/streaming/__init__.py @@ -4,7 +4,7 @@ Provides modular frame readers, buffers, and stream management. """ from .readers import RTSPReader, HTTPSnapshotReader from .buffers import FrameBuffer, CacheBuffer, shared_frame_buffer, shared_cache_buffer -from .manager import StreamManager, StreamConfig, SubscriptionInfo, shared_stream_manager +from .manager import StreamManager, StreamConfig, SubscriptionInfo, shared_stream_manager, initialize_stream_manager __all__ = [ # Readers @@ -21,5 +21,6 @@ __all__ = [ 'StreamManager', 'StreamConfig', 'SubscriptionInfo', - 'shared_stream_manager' + 'shared_stream_manager', + 'initialize_stream_manager' ] \ No newline at end of file diff --git a/core/streaming/manager.py b/core/streaming/manager.py index 1ea3b35..6cf120f 100644 --- a/core/streaming/manager.py +++ b/core/streaming/manager.py @@ -458,4 +458,11 @@ class StreamManager: # Global shared instance for application use -shared_stream_manager = StreamManager(max_streams=10) \ No newline at end of file +# Will be initialized with config value in app.py +shared_stream_manager = None + +def initialize_stream_manager(max_streams: int = 10): + """Initialize the global stream manager with config value.""" + global shared_stream_manager + shared_stream_manager = StreamManager(max_streams=max_streams) + return shared_stream_manager \ No newline at end of file