Private:atsc meeting minutes
From NMSL
12 July 2010
- Attendees: Cheng, Som, Kaushik, Gordon, Bassam, Mohamed
- Scribe: Kaushik
- Summary:
- Next meeting will be a decisive meeting with regards to the future of the project. The slow progress is not acceptable. All current tasks must be completed by next meeting.
- The goal is to take the project to a working condition. Limitations are acceptable but the project should be demo worthy.
- Tasks for the next one week:
- Som:
- Continue working current issues. Help other members if there is free time.
- Bassam:
- Complete functionality testing of streamReader module. Create unit and integration test cases and complete testing.
- Gordon:
- Fix identified bug in the burst class thsi week.
- Kaushik
- Finish all integration tests, fix any bugs and test callbacks using the methods present in configuration manager.
6 July 2010
- Attendees: Cheng, Som, Kaushik, Gordon, Bassam, Mohamed
- Scribe: Kaushik
- Summary:
- Should we go ahead with GUI and other features before getting a basic setup running with the new design. Yes, because of the implementation challenges faced that led to the changing the implementation.
- StreamReader should only retrieve streams from the streaming server and put it into the circular buffer. It need not generate bursts.
- Scheduler should provision for empty buffers in the stream reader. Cheng to send the design for the required APIs in the stream reader.
- In the stream reader, design a class to implement a synchronization mechanism using semaphores.
- Tasks for the next one week:
- Som:
- Create a controller thread with a higher priority than even the transmitter thread (controller thread will be in the control plane) and should be able to stop/control the other threads.
- Bassam:
- Complete the design for the stream reader and email it to the team and finish implementation.
- Gordon:
- Update testcases in the document and work with Kaushik in using GDB to identify the bug that causes incorrect data values.
- Kaushik
- Finish PSISI implementation along with the callback functions and interfacing with the new configuration manager.
29 June 2010
- Attendees: Cheng, Som, Kaushik, Gordon, Bassam
- Scribe: Kaushik
- Summary:
- Possible implementation for GUI: Implement an embedded web-server into the code.
- Better to try reusing the GUI and create a communication mechanism between the php GUI and mtv. PHP could create a small XML file containing updated parameters/fields from the GUI and notify mtv about the update. mtv should then be able to take corresponding action.
- Tasks for the next one week:
- Som:
- Work with Kaushik on GUI design
- Work on the intercommunication mechanism between PHP and mtv, using TCP socket and shared files.
- Kaushik:
- Continue doing the GUI mockup
- Define EVENTS and implement event listener mechanism in CfgMgr.
- Implement callback function for PSISI table.
- Bassam:
- Work on the new design, send it to Cheng by Thursday.
- Add packet buffer into UDPReader
- Add a receiving thread
- Integrate your code with others
- Gordon:
- Fix the MPE header bug
- Redo the TS analysis, and send a short report to Cheng by Thursday.
22 June 2010
- Attendees: Cheng, Som, Kaushik, Gordon.
- Scribe: Kaushik
- Summary:
- No need to implement algorithms other than LATS and STAND. One or both of these will do for now. (MPE FEC).
- Use dvbSAM to verify the ts file first before actually using the base station.
- Look for implementing a new scheduling algorithm. An earliest deadline scheduling algorithm (improvement of SMS algorithm).
- Update documentation and send an email.
- The test case documentation should entail detailed instructions about conducting the tests and also about building the repository.
- Chenghsin will send an email on Thursday with further instructions.
- Tasks and deadlines (for the next 1 week):
- Kaushik:
- Finish psisi APIs in transmitter and update documents.
- Gordon:
- Read dvbSAM manual and understand test cases.
- Bassam:
- Update team about status of streamreader.
- Som:
- Conduct integration tests and ensure document is updated properly by all members of the team.
8 June 2010
- Attendees: Cheng, Som, Kaushik, Gordon.
- Scribe: Kaushik
- Summary:
- Add the environment set up configurations to the make files to set up the environment.
- The current code creates a test file and also sends bursts over the modulator. Add a compile flag to turn off the modulator initiation. For the time being the integrated code should generate a test ts file.
- The test ts file may be tested using the evaluation version of dvbSAM.
- Document and run unit tests for each module. Update the test cases in the Design document. Integrate all code in the next week.
- Each PSI/SI table could have multiple packets. The transmitter checks the time stamp to send each packet and then sends the next available table based on time.
- Try and create valid ts file by next meeting.
- Tasks and deadlines (for the next 1 week):
- Som:
- Work on code integration with the remaining modules in the base station.
- Update makefiles to set up the environment. Also create the compile flag to disable modulator initiation.
- Kaushik:
- Update document with possible unit test cases.
- Finish integration tasks and then design two APIs in the transmitter class to send PSI/SI tables.
- Gordon:
- Finish integration tasks.
- Add unit test cases to the design document.
- Explore the scheduler to figure how to calculate Delta-T.
2 June 2010
- Attendees: Cheng, Som, Bassam, Kaushik, Gordon.
- Scribe: Kaushik
- Summary:
- The old PHP GUI does not have provisions for using XML based configuration files.
- The old testbed does not work with the GUI.
- Decision about configuration:
- Configure the base station by manually editing the XML files for now.
- Load/Save XML file from GUI later.
- The PSI/SI Table sections should only generate the section files. There is no need to convert the section files to ts files.
- The PSI/SI module should be able to directly pass the configuration to the Transmitter.
- The streaming packets received should contain/retain the IP header.
- The streaming functionality should be the task of the read() function in the BurstReader.
- FECEncoder code may be verified using Divicatch Analyzer.
- Tasks and deadlines (for the next 1 week):
- Som:
- Create a separate directory in svn so everyone could submit their code.
- Work on code integration with the remaining modules in the base station.
- Help Bassam in integrating the streaming code with the stream reader in the base station.
- Bassam:
- Store the current implementation of the stream receiver implemented using RTP libraries in a directory on svn for future reference.
- Implement a stream reader from scratch with no dependency on any RTP libraries. The stream reader should retain the IP Headers.
- Integrate the stream reader into the read function in BurstReader.
- Kaushik:
- Finish integrating pack() function with the other tables.
- Integrate PSI/SI table module with ConfMgr module to read table entries (configuration) from XML files.
- Investigate how to pass section files directly to the transmitter.
- Gordon:
- Integrate classes with Som's code.
- Put some time aside for verifying the FEC encapsulation and the error checking using the analyzer. (To be done after integration)
- All:
- In next week's meeting everyone should have an idea of how to integrate their modules with the base station code.
25 May 2010
- Attendees: Mohamed, Som, Bassam, Kaushik, Gordon.
- Scribe: Kaushik
- Summary:
- All must keep updating the Wiki page with their notes, summary of work, challenges faced, approaches taken or any other information that may be useful or relevant to the project.
- All code must be written in C++.
- All configuration information shall be stored in a single XML file by the Configuration Manager.
- Whenever a configuration is modified and the new configuration is loaded, it shall also be saved.
- There shall be separate RTP buffers for each stream and the RTP client shall support streaming from multiple channels.
- Discuss issues with other team members within the week. Work as a team!
- Tasks and deadlines:
- Som:
- Complete Configuration Manager. (Deadline: 1 week)
- Consult Cong to better understand the interaction of the current web interface with the configuration manager.
- Bassam:
- Finish implementation of StreamReader class in the base station to receive streaming data (support multiple streams) from Darwin and pass it to the BurstReader class for further processing. (Deadline: 1 week)
- Kaushik:
- Finish developing PSI/SI tables and pack function. (Deadline: 1 week)
- Write and execute test cases for verification of compliance of PSI/SI tables thus developed with DVB-H standard.
- Gordon:
- Implement FECHeader class (Deadline: 1 week)
- Overview of Project Plan
- The base station should be up and running with the new code in three weeks.
- Week 1 will be spent in finishing the assigned tasks for this week.
- Week 2 will be spent in code reviews and cross-testing of modules between team members. Gordon will test Bassam's code and vice versa, while Som will test Kaushik's code and vice versa.
- Week 3 will be spent in integration of the modules and testing the system as a whole.
- Each module should be well documented and Bassam, Gordon and Kaushik should hand over their module documentation to Som so he can update the current design document with the changes that were introduced in the process of development.
18 May 2010
- Attendees: Mohamed, Som, Bassam, Kaushik, Gordon.
- Scribe: Kaushik
- Summary:
- All must keep updating the Wiki page with their notes, summary of work, challenges faced, approaches taken or any other information that may be useful or relevant to the project.
- When developing, it is very important to keep the robustness of the code in mind. The code should also be well documented and maintainable.
- New directory structure for source code repository (version control) is expected to be ready by next week.
- Discussed an issue with inserting XML library APIs in ConfMgr's load and saveas methods. Som to investigate further.
- Tasks and deadlines:
- Som:
- Continue working on the new directory structure (svn structure and design). Document the changes or new additions. (Deadline: 1 week)
- Continue working on the Configuration Manager. (Deadline: 1 week)
- Integrate all modules and build them together. (Deadline: 2 weeks)
- Investigate how the web-interface for the testbed will modify configuration using XML configuration files.
- Bassam:
- Implement a StreamReader class in the base station to receive streaming data (support multiple streams) from Darwin and pass it to the BurstReader class for further processing. (Deadline: 1 week)
- Investigate possibility of using suggested RTP library (ORTP) to use for processing streaming data.
- Kaushik:
- Implement classes for the remaining PSI/SI tables. (Deadline: 1 week)
- Write and execute test cases for verification of compliance of PSI/SI tables thus developed with DVB-H standard. (Deadline: 1 week)
- Follow class diagram in the design document and make changes if and when necessary and beneficial.
- Gordon:
- Study the DVB-H standard and testbed design document to understand the role and requirement of FEC encoding. (Deadline: 1 week)
- Understand relevant implementation requirements and propose a design for the changes required to make open source FEC library compliant with the DVB-H standard. Keep Cheng in the loop during this activity. (Deadline: 1 week)
- Start implementation of the decided changes.
11 May 2010
- Attendees: Mohamed, Som, Bassam, Kaushik, Gordon.
- Scribe: Kaushik
- Summary:
- Important to under stand and retain the big picture of the goal of the project.
- ChengHsin Hsu to collaborate part-time.
- Update Wiki page with related documents, links or files that you come across. Do write a brief note about the relevance or take-away of the posting.
- Try and have the system up and running with the new code for FEC, Streaming and PSI/SI in three weeks.
- While performing your current set of tasks (for DVB-H project) keep in mind that it is desirable to reuse as much of the current work as possible for the implementation of the ATSC Mobile TV project.
- Guidelines for posting progress
- Update your progress by the end of day on every Monday.
- Write concise but informative notes in your progress summary. For example, mention the test cases when you say "tested communication module."
- Tasks and deadlines:
- Som:
- Redesign the class hierarchy to align better with the current implementation since the current design is more complicated than the implementation. (Deadline: 2 weeks)
- Bassam:
- Implement the streaming server using RTP and other related protocols to stream videos to a mobile device in C++. Use available tools and APIs. (Deadline: 2 weeks)
- Kaushik:
- Implement the generation and packing of each of the PSI and SI tables using the current design document and existing Python source code in C++. (Deadline: 2 weeks)
- Gordon:
- Implement FEC component of the system using C++. (Deadline: 2 weeks)