Help needed in writing streaming client on linux FC6
I want to write my own simple streaming client on Linux Fedora core 6..
Streaming server: Darwin streaming server is running on one system in LAN (IP address:192.168.1.225 & port 1220 & file I am trying to play is rtsp://192.168.3.225/sample_50kbit.3gp)
This is what I have done till now for streaming client:
1. First I have created a socket for sending the RTSP protocol commands like OPTIONS,DESCRIBE etc
2. sending the RTSP DESCRIBE command data to server using socket in step 1 and got the response with ' 200 OK'
From the result information, I parsed and prepared url for audio(e.g. rtsp://192.168.1.225/sample_50kbit.3gp /TrackID=3) and video (e.g. rtsp://192.168.1.225/ sample_50kbit.3gp/TrackID=4) to be used in SETUP command.
3. I send rtsp SETUP command for video only (later i will include for audio also) and got Response as '200 Ok'
Extracted the session ID and port information etc
4. created 2 UDP sockets one for RTP and other for RTCP.
5. send rtsp PLAY command to server and got the response '200 OK'. now server started streaming the data to client.
6. I started reading the data from UDP socket created for RTP in a buffer pointer pBuffer. As per RTP RFC 3550, actual media data will be at (pBuffer + 20) where 20 octet is fixed rtp header size as CC count is 0 here. Please correct if i am wrong.
I need help with respect to following:
1. I think, media data is in encoded form, how to decode this data? I think decoder is already available in system because I can play this file locally.
2. how to put this decoded video data to GUI (my own created window)?
I was trying to understand the existing players code but its extremely difficult to understand.
Please help me how to approach further. Any link, tutorial or existing sample program would be very helpful.
Thanks a lot in advance.