Changeset 39602
- Timestamp:
- 01/02/17 00:30:34 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
titan/titan/player.h
r39270 r39602 851 851 GstStructure *extras = gst_structure_new_empty("extras"); 852 852 #endif 853 char* tmpstr1 = NULL, *tmpstr2 = NULL, *tmpstr3 = NULL ;853 char* tmpstr1 = NULL, *tmpstr2 = NULL, *tmpstr3 = NULL, *tmpstr4 = NULL; 854 854 tmpstr1 = ostrcat(file, NULL, 0, 0); 855 855 int count1 = 0, i = 0; … … 857 857 ret1 = strsplit(tmpstr1, "|", &count1); 858 858 859 int max = count1; 860 for(i = 0; i < max; i++) 859 for(i = 0; i < count1; i++) 861 860 { 862 861 if(i == 0) … … 867 866 tmpstr2 = ostrcat(ret1[i].part, NULL, 0, 0); 868 867 869 int count2 = 0 ;868 int count2 = 0, i2 = 0; 870 869 struct splitstr* ret2 = NULL; 871 ret2 = strsplit(tmpstr2, " =", &count2);872 873 if(ret2 != NULL && count2 >= 2)870 ret2 = strsplit(tmpstr2, "&", &count2); 871 872 if(ret2 != NULL) 874 873 { 875 if(ostrstr(ret2[0].part, "User-Agent") != NULL)874 for(i2 = 0; i2 < count2; i2++) 876 875 { 877 // printf("[player.h] skip set user-agent: %s\n", ret2[1].part); 878 printf("[player.h] set user-agent: %s\n", ret2[1].part); 879 g_object_set(G_OBJECT(source), "user-agent", ret2[1].part, NULL); 880 } 881 else 882 { 883 if (g_object_class_find_property(G_OBJECT_GET_CLASS(source), "extra-headers") != 0) 884 { 885 GValue header; 886 // eDebug("setting extra-header '%s:%s'", name.c_str(), value.c_str()); 887 printf("[player.h] set extra-header %s: %s\n", ret2[0].part, ret2[1].part); 888 889 tmpstr3 = ostrcat(ret2[1].part, NULL, 0, 0); 890 htmldecode(tmpstr3, tmpstr3); 891 printf("[player.h] set extra-header decode %s: %s\n", ret2[0].part, tmpstr3); 892 893 memset(&header, 0, sizeof(GValue)); 894 g_value_init(&header, G_TYPE_STRING); 895 //value 896 g_value_set_string(&header, tmpstr3); 897 //name 898 gst_structure_set_value(extras, ret2[0].part, &header); 899 free(tmpstr3), tmpstr3 = NULL; 876 int count3 = 0, i3 = 0; 877 struct splitstr* ret3 = NULL; 878 tmpstr3 = ostrcat(ret2[i2].part, NULL, 0, 0); 879 ret3 = strsplit(tmpstr3, "=", &count3); 880 881 if(ret3 != NULL) 882 { 883 int max = count3 - 1; 884 for(i3 = 0; i3 < max; i3++) 885 { 886 if(ostrstr(ret3[i3].part, "User-Agent") != NULL) 887 { 888 // printf("[player.h] skip set user-agent: %s\n", ret2[1].part); 889 printf("[player.h] set user-agent: %s\n", ret3[i3 + 1].part); 890 g_object_set(G_OBJECT(source), "user-agent", ret3[i3 + 1].part, NULL); 891 } 892 else 893 { 894 if (g_object_class_find_property(G_OBJECT_GET_CLASS(source), "extra-headers") != 0) 895 { 896 GValue header; 897 // eDebug("setting extra-header '%s:%s'", name.c_str(), value.c_str()); 898 printf("[player.h] set extra-header %s: %s\n", ret3[i3].part, ret3[i3 + 1].part); 899 900 tmpstr4 = ostrcat(ret3[i3 + 1].part, NULL, 0, 0); 901 htmldecode(tmpstr4, tmpstr4); 902 printf("[player.h] set extra-header decode %s: %s\n", ret3[i3].part, tmpstr4); 903 904 memset(&header, 0, sizeof(GValue)); 905 g_value_init(&header, G_TYPE_STRING); 906 //value 907 g_value_set_string(&header, tmpstr4); 908 //name 909 gst_structure_set_value(extras, ret3[i3].part, &header); 910 free(tmpstr4), tmpstr4 = NULL; 911 } 912 } 913 } 900 914 } 915 free(ret3), ret3 = NULL; 916 free(tmpstr3), tmpstr3 = NULL; 901 917 } 902 918 } … … 904 920 free(tmpstr2), tmpstr2 = NULL; 905 921 } 922 906 923 free(ret1), ret1 = NULL; 907 924 free(tmpstr1), tmpstr1 = NULL;
Note: See TracChangeset
for help on using the changeset viewer.