Changeset 28343 for lang/c

Show
Ignore:
Timestamp:
01/13/09 02:09:03 (4 years ago)
Author:
itkz
Message:

amf_packet_create* -> amf_packet_analyze*

Location:
lang/c/librtmp
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/c/librtmp/amf_packet.c

    r28236 r28343  
    2929 
    3030 
    31 static amf_packet_t *amf_packet_create_number( 
     31static amf_packet_t *amf_packet_analyze_number( 
    3232    unsigned char *raw_data, size_t raw_data_size, size_t *packet_size); 
    33 static amf_packet_t *amf_packet_create_boolean( 
     33static amf_packet_t *amf_packet_analyze_boolean( 
    3434    unsigned char *raw_data, size_t raw_data_size, size_t *packet_size); 
    35 static amf_packet_t *amf_packet_create_string( 
     35static amf_packet_t *amf_packet_analyze_string( 
    3636    unsigned char *raw_data, size_t raw_data_size, size_t *packet_size); 
    37 static amf_packet_t *amf_packet_create_object( 
     37static amf_packet_t *amf_packet_analyze_object( 
    3838    unsigned char *raw_data, size_t raw_data_size, size_t *packet_size); 
    39 static amf_packet_t *amf_packet_create_null(); 
    40 static amf_packet_t *amf_packet_create_undefined(); 
    41  
    42  
    43 amf_packet_t *amf_packet_create( 
     39static amf_packet_t *amf_packet_analyze_null(); 
     40static amf_packet_t *amf_packet_analyze_undefined(); 
     41 
     42 
     43amf_packet_t *amf_packet_analyze( 
    4444    unsigned char *raw_data, size_t raw_data_size, size_t *packet_size) 
    4545{ 
     
    5454    switch (raw_data[0]) { 
    5555    case AMF_DATATYPE_NUMBER: 
    56         amf = amf_packet_create_number( 
     56        amf = amf_packet_analyze_number( 
    5757            raw_data, raw_data_size, packet_size); 
    5858        return amf; 
    5959    case AMF_DATATYPE_BOOLEAN: 
    60         amf = amf_packet_create_boolean( 
     60        amf = amf_packet_analyze_boolean( 
    6161            raw_data, raw_data_size, packet_size); 
    6262        return amf; 
    6363    case AMF_DATATYPE_STRING: 
    64         amf = amf_packet_create_string( 
     64        amf = amf_packet_analyze_string( 
    6565            raw_data, raw_data_size, packet_size); 
    6666        return amf; 
    6767    case AMF_DATATYPE_OBJECT: 
    68         amf = amf_packet_create_object( 
     68        amf = amf_packet_analyze_object( 
    6969            raw_data, raw_data_size, packet_size); 
    7070        return amf; 
    7171    case AMF_DATATYPE_NULL: 
    72         amf = amf_packet_create_null(); 
     72        amf = amf_packet_analyze_null(); 
    7373        return amf; 
    7474    case AMF_DATATYPE_UNDEFINED: 
    75         amf = amf_packet_create_undefined(); 
     75        amf = amf_packet_analyze_undefined(); 
    7676        return amf; 
    7777    case AMF_DATATYPE_OBJECT_END: 
     
    8585} 
    8686 
    87 amf_packet_t *amf_packet_create_number( 
     87amf_packet_t *amf_packet_analyze_number( 
    8888    unsigned char *raw_data, size_t raw_data_size, size_t *packet_size) 
    8989{ 
     
    9191    unsigned char number_data[8]; 
    9292 
    93 printf("!!!!!!!: 0\n"); 
    9493    /* FIXME!: big-endian and little-endian */ 
    9594    if (raw_data_size < 9) { 
     
    10099    } 
    101100 
    102 printf("!!!!!!!: 1\n"); 
    103101    amf = (amf_packet_t*)malloc(sizeof(amf_packet_number_t)); 
    104 printf("!!!!!!!: 2\n"); 
    105102    amf->datatype = AMF_DATATYPE_NUMBER; 
    106 printf("!!!!!!!: 3\n"); 
    107103    number_data[0] = raw_data[8]; 
    108104    number_data[1] = raw_data[7]; 
     
    113109    number_data[6] = raw_data[2]; 
    114110    number_data[7] = raw_data[1]; 
    115 printf("!!!!!!!: 4\n"); 
    116111    memmove(&(amf->number.number), number_data, 8); 
    117112    printf("AMF NUMBER:: %f\n", amf->number.number); 
    118 printf("!!!!!!!: 5\n"); 
    119113    if (packet_size) { 
    120114        *packet_size = 9; 
    121115    } 
    122 printf("!!!!!!!: 6\n"); 
    123     return amf; 
    124 } 
    125  
    126  
    127 amf_packet_t *amf_packet_create_boolean( 
     116    return amf; 
     117} 
     118 
     119 
     120amf_packet_t *amf_packet_analyze_boolean( 
    128121    unsigned char *raw_data, size_t raw_data_size, size_t *packet_size) 
    129122{ 
     
    150143} 
    151144 
    152 amf_packet_t *amf_packet_create_string( 
     145amf_packet_t *amf_packet_analyze_string( 
    153146    unsigned char *raw_data, size_t raw_data_size, size_t *packet_size) 
    154147{ 
     
    192185} 
    193186 
    194 amf_packet_t *amf_packet_create_object( 
     187amf_packet_t *amf_packet_analyze_object( 
    195188    unsigned char *raw_data, size_t raw_data_size, size_t *packet_size) 
    196189{ 
     
    217210        string_length += raw_data[raw_data_position + 1]; 
    218211        if (string_length == 0 && raw_data[raw_data_position + 2] == 0x09) { 
    219             printf("end\n"); 
     212            printf("object end\n"); 
    220213            break; 
    221214        } 
     
    249242} 
    250243 
    251 amf_packet_t *amf_packet_create_null() 
     244amf_packet_t *amf_packet_analyze_null() 
    252245{ 
    253246    amf_packet_t *amf; 
     
    261254} 
    262255 
    263 amf_packet_t *amf_packet_create_undefined() 
     256amf_packet_t *amf_packet_analyze_undefined() 
    264257{ 
    265258    amf_packet_t *amf; 
     
    276269void amf_packet_free(amf_packet_t *amf) 
    277270{ 
     271    amf_packet_object_property_t *property; 
     272    amf_packet_object_property_t *next; 
     273 
    278274    switch( amf->datatype ){ 
    279275    case AMF_DATATYPE_NUMBER: 
     
    285281        break; 
    286282    case AMF_DATATYPE_OBJECT: 
     283        property = amf->object.properties; 
     284        while (property) { 
     285            next = property->next; 
     286            free(property->key); 
     287            amf_packet_free(property->value); 
     288            free(property); 
     289            property = next; 
     290        } 
    287291        break; 
    288292    case AMF_DATATYPE_NULL: 
  • lang/c/librtmp/amf_packet.h

    r28235 r28343  
    121121 
    122122 
    123 extern amf_packet_t *amf_packet_create( 
     123extern amf_packet_t *amf_packet_analyze( 
    124124    unsigned char *data, size_t data_size, size_t *packet_size); 
    125125extern void amf_packet_free(amf_packet_t *amf); 
  • lang/c/librtmp/main.c

    r28236 r28343  
    1717    printf("Hello, RTMP!\n"); 
    1818 
     19/* 
    1920{ 
    20     /* number */ 
    21 //    unsigned char number_temp[] = { 
    22 //        0x00, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 
    23 //    amf_packet_create(number_temp, sizeof(number_temp), NULL); 
    24     /* boolean */ 
    25 //    unsigned char boolean_temp[] = {0x01, 0x01}; 
    26 //    amf_packet_create(boolean_temp, sizeof(boolean_temp), NULL); 
    27     /* string */ 
    28 //    unsigned char string_temp[] = {0x02, 0x00, 0x04, 0x69, 0x74, 0x6B, 0x7A}; 
    29 //    amf_packet_create(string_temp, sizeof(string_temp), NULL); 
    30     /*object*/ 
     21    amf_packet_t *amf; 
     22    // number 
     23    unsigned char number_temp[] = { 
     24        0x00, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 
     25    amf = amf_packet_analyze(number_temp, sizeof(number_temp), NULL); 
     26    amf_packet_free(amf); 
     27    // boolean 
     28    unsigned char boolean_temp[] = {0x01, 0x01}; 
     29    amf = amf_packet_analyze(boolean_temp, sizeof(boolean_temp), NULL); 
     30    amf_packet_free(amf); 
     31    // string 
     32    unsigned char string_temp[] = {0x02, 0x00, 0x04, 0x69, 0x74, 0x6B, 0x7A}; 
     33    amf = amf_packet_analyze(string_temp, sizeof(string_temp), NULL); 
     34    amf_packet_free(amf); 
     35    // object 
    3136    unsigned char object_temp[] = { 
    3237        0x03, 0x00, 0x06, 0x66, 0x6D, 0x73, 0x56, 0x65, 
     
    3742        0x40, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    3843        0x00, 0x00, 0x09}; 
    39     amf_packet_create(object_temp, sizeof(object_temp), NULL); 
    40     /*null*/ 
    41 //    unsigned char null_temp[] = {0x05}; 
    42 //    amf_packet_create(null_temp, sizeof(null_temp), NULL); 
    43     /*undefined*/ 
    44 //    unsigned char undefined_temp[] = {0x06}; 
    45 //    amf_packet_create(undefined_temp, sizeof(undefined_temp), NULL); 
    46     /*object_end*/ 
    47 //    unsigned char object_end_temp[] = {0x00, 0x00, 0x09}; 
    48 //    amf_packet_create(object_end_temp, sizeof(object_end_temp), NULL); 
     44    amf = amf_packet_analyze(object_temp, sizeof(object_temp), NULL); 
     45    amf_packet_free(amf); 
     46    // null 
     47    unsigned char null_temp[] = {0x05}; 
     48    amf = amf_packet_analyze(null_temp, sizeof(null_temp), NULL); 
     49    amf_packet_free(amf); 
    4950} 
     51*/ 
    5052 
    5153    rc = rtmp_client_create("192.168.157.128", 1935);