2 * dmsd - digital media soft decrypt
4 * author: hackbard@hackdaworld.dyndns.org
13 #include <sys/types.h>
14 #include <sys/socket.h>
15 #include <netinet/in.h>
16 #include <arpa/inet.h>
20 int main(int argc,char *argv[]) {
22 /* file descriptors */
27 struct sockaddr_in dbox_addr;
29 int status,recvd_bytes;
32 printf("usage: %s <video pid> <audio pid> <dbox ip address>\n",argv[0]);
36 //sscanf(argv[1],"%x",vpid);
38 //sscanf(argv[2],"%x",apid);
41 printf("using video pid %x & audio pid %x ...\n",vpid,apid);
43 if((v_fd=socket(AF_INET,SOCK_STREAM,0)) == -1) {
44 printf("can't open socket for video.\n");
47 if((a_fd=socket(AF_INET,SOCK_STREAM,0)) == -1) {
48 printf("can't open socket for audio.\n");
52 memset(&dbox_addr,0,sizeof(dbox_addr));
53 dbox_addr.sin_family=AF_INET;
54 dbox_addr.sin_port=htons(DBOX2_TS_PORT);
55 dbox_addr.sin_addr.s_addr=inet_addr(argv[3]);
57 if(connect(v_fd,(struct sockaddr *)&dbox_addr,sizeof(dbox_addr))==-1) {
58 printf("unable to connect. (video pid)\n");
63 dprintf(v_fd,"GET /%x HTTP/1.0\r\n\r\n",vpid);
64 printf("debug: GET /%x HTTP/1.0\r\n\r\nwritten to video fd\n",vpid);
65 //dprintf(v_fd,"GET /%x",vpid);
66 //printf("debug: GET /%x\nwritten to video fd\n",vpid);
70 unsigned char buf[BUFFER_LENGTH];
72 status=recv(v_fd,buf,sizeof(buf),0);