[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/asobj/README.NetStream
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/asobj/README.NetStream |
Date: |
Wed, 30 May 2007 17:04:29 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/05/30 17:04:29
Modified files:
. : ChangeLog
Added files:
server/asobj : README.NetStream
Log message:
server/asobj/README.NetStream
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3414&r2=1.3415
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/README.NetStream?cvsroot=gnash&rev=1.1
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3414
retrieving revision 1.3415
diff -u -b -r1.3414 -r1.3415
--- ChangeLog 30 May 2007 16:35:25 -0000 1.3414
+++ ChangeLog 30 May 2007 17:04:29 -0000 1.3415
@@ -1,5 +1,9 @@
2007-05-30 Sandro Santilli <address@hidden>
+ * server/asobj/README.NetStream: add design notes for NetStream.
+
+2007-05-30 Sandro Santilli <address@hidden>
+
* server/video_stream_instance.cpp (display): update call to
get_video.
* server/asobj/NetStream.{cpp,h}: change get_video to return by
Index: server/asobj/README.NetStream
===================================================================
RCS file: server/asobj/README.NetStream
diff -N server/asobj/README.NetStream
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ server/asobj/README.NetStream 30 May 2007 17:04:29 -0000 1.1
@@ -0,0 +1,80 @@
+Design info for NetStream based media playing
+
+===============================================================================
+ Data flow diagram for Gnash implementation of NetStream playback using FFMPEG
+===============================================================================
+
+Notation: process, [dataStore], <externalEvent>
+
+ [input] --> (2) parser --> [parsedBuffer]
+ |
+ +----------------------------+
+ |
+ V
+ (2) decoder <-+-> [videoQueue] ---> (1) videoFrameUpdater -->
[renderableFrame]
+ ^ | ^ |
+ | | | |
+ +------- | -----------------------------+ |
+ | | V
+ | (1) <seek> ---> [PlayHead] (1) renderer
--> [videoOut]
+ | ^
+ | |
+ +-> [audioQueue] ---> (3) soundPlayer -> [audioOut]
+
+ Processes
+===========
+
+
+ parser : FLVParser
+ decoder : av_streamer
+ videoFrameUpdater : refreshVideoFrame
+ renderer : render_handler
+ soundPlayer : sound_streamer
+ seek : NetStream::seek
+
+
+
+ Datastores and protection
+===========================
+
+ [input] : Accessible trough LoadThread, providing thread-safe
interfaces
+ [parsedBuffer] : Accessible trough FLVParser, providing thread-safe
interfaces
+ [videoQueue] : Accessible trough multithread_queue, providing
thread-safe interfaces
+ [audioQueue] : Accessible trough multithread_queue, providing
thread-safe interfaces
+ [renderableFrame] : Direct access, disciplined by image_mutex
+ [audioOut] : Audio output channel
+ [videoOut] : Video output channel
+ [PlayHead] : m_current_timestamp, m_go and m_pause. protection UNCLEAR
!! refactoring planned
+
+
+ Threads
+=========
+
+ thread1 (main) : videoFrameUpdater, renderer, seek
+ thread2 (load/parse/decode) : parser, decoder
+ thread3 (playsound) : soundPlayer
+
+ NOTE: thread2 actually includes a loading thread hidden in this diagram for
simplicity.
+ it is likely that we can safely drop that additional thread as a whole.
+
+
+===============================================================================
+ Data flow diagram for Gnash implementation of NetStream playback using GST
+===============================================================================
+
+
+ +--> (2) [ParsedVideoBuffer]---+
+ | |
+(2) [input] --> parser --+ +---> (2) GST
pipeline --> [renderableFrame] --> (1) renderer -> [videoOut]
+ | | |
+ +--> (2) [ParsedAudioBuffer]---+ |
+ +--->
(2) soundPlayer --> [audioOut]
+
+
+ Processes
+===========
+
+
+ thread 2 : FLVParser, decoder, audio output
+ thread 1 : fetch videoframe
+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/asobj/README.NetStream,
Sandro Santilli <=