annotate asf_streaming.c @ 833:b8cecdc0c67f

Starting implementation of ASF network streaming.
author bertrand
date Fri, 18 May 2001 16:14:06 +0000
parents
children ab94c4cf96d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
833
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
1 #include "asf.h"
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
2
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
3 #include <string.h>
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
4
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
5 static ASF_StreamType_e stream_type;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
6
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
7 void asf_streaming(char *data, int length) {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
8 ASF_stream_chunck_t *stream_chunck=(ASF_stream_chunck_t*)data;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
9 printf("ASF stream chunck size=%d\n", stream_chunck->length);
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
10
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
11 switch(stream_chunck->type) {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
12 case 0x4324: // Clear ASF configuration
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
13 printf(" --> Clearing ASF stream configuration!\n");
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
14 break;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
15 case 0x4424: // Data follows
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
16 printf(" --> Data follows\n");
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
17 break;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
18 case 0x4524: // Transfer complete
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
19 printf(" --> Transfer complete\n");
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
20 break;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
21 case 0x4824: // ASF header chunk follows
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
22 printf(" --> ASF header chunk follows\n");
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
23 break;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
24 default:
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
25 printf("======> Unknown stream type %d\n", stream_chunck->type );
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
26 }
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
27 }
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
28
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
29 void asf_steam_type(char *content_type, char *features) {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
30 stream_type = ASF_Unknown_e;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
31 if( !strcasecmp(content_type, "application/octet-stream") ) {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
32 if( strstr(features, "broadcast")) {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
33 printf("-----> Live stream <-------\n");
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
34 stream_type = ASF_Live_e;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
35 } else {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
36 printf("-----> Prerecorded <-------\n");
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
37 stream_type = ASF_Prerecorded_e;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
38 }
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
39 } else {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
40 if( (!strcasecmp(content_type, "audio/x-ms-wax")) ||
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
41 (!strcasecmp(content_type, "audio/x-ms-wma")) ||
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
42 (!strcasecmp(content_type, "video/x-ms-asf")) ||
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
43 (!strcasecmp(content_type, "video/x-ms-afs")) ||
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
44 (!strcasecmp(content_type, "video/x-ms-wvx")) ||
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
45 (!strcasecmp(content_type, "video/x-ms-wmv")) ||
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
46 (!strcasecmp(content_type, "video/x-ms-wma")) ) {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
47 printf("-----> Redirector <-------\n");
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
48 stream_type = ASF_Redirector_e;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
49 } else {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
50 printf("-----> unknown content-type: %s\n", content_type );
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
51 stream_type = ASF_Unknown_e;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
52 }
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
53 }
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
54 }