User:Nyadav

From ReactOS Wiki
Jump to: navigation, search

My name is Neeraj Yadav.I am a Textile Engineering Student at Indian Institute of Technology,Delhi.In the Free time I work on OpenSource Projects.ReactOS is my current favourite OSS project. I took part in GSoC 2011 and working For "Audio Mixer Project For ReactOS".

Status of my Project can be tracked on this page.I maintain an SVN repository for AUDSRV too.

Status of Project

Audio Mixer project is a ReactOS service which receives audio streams from different audio player applications, mixes them to a single audio stream and feeds it to Audio Hardware.

The Project consists of three comonents

1.Audio server (modulename: audsrv)

2.AUDSRV DLL (modulename: audsrvapi)

3.A Sample Client (modulename: audclient)

Individual Status of components

Audio Server

Audio Server is located in /base/services/audsrv and is a command line application[audsrv.exe -n for command line running] as well as a ReactOS service.Currently Implemented version is able to play audio on ReactOS using Kernel Streaming Filters.

AUDSRVAPI Dll

Audio Server Api's headers are located in /include/reactos/libs/audsrv and the actual dll is in /dll/win32/audsrvapi.This Dll provides a Simple API for clients to connect to Audio Server using Remote Procedure Calls.

AUDCLIENT

This is a simple audio client located in /drivers/wdm/audio/backpln/audclient

Steps

Follwing are the steps to finish the Project:

1.Design an API Client<->DLL API , done

2.Write a Simple Audio Client using the above API , done

3.Design a DLL<->Server RPC Interface , in progress


Testing the Project

You can test my project by following these simple steps.

1. Install RoSBE and Ensure that you have no overlapping compiler/tools in your PATH.

2. Add C:\nyadav-audio-branch\build-ros\dll\win32\audsrvapi;C:\nyadav-audio-branch\build-ros\base\services\audsrv;C:\nyadav-audio-branch\build-ros\drivers\wdm\audio\backpln\audclient to you PATH.

2. cd \

4. svn checkout svn://svn.reactos.org/svn/reactos/branches/nyadav-audio-branch/

5. cd nyadav-audio-branch

6. mkdir build && cd build && cmake -G "MinGW Makefiles" ..\ && make && cd ..

5. mkdir build-ros && cd build-ros && cmake -G "MinGW Makefiles" -DCMAKE_TOOLCHAIN_FILE=toolchain-mingw32.cmake ..\

6. make audsrvapi

7. make audsrv

8. make audclient


Open Two command Prompts

I. audsrv.exe -n It should starts playing a beep.Press Control+c to safely quit the server.

II. audclient.exe It should report playing virtual buffers on virtual device continuously.Press a and Return to safely quit.


Working On

Currently the client and server are not meant to interact and I am working further to make them interact through RPC.