Changeset 32776


Ignore:
Timestamp:
01/29/15 18:43:38 (9 years ago)
Author:
gost
Message:

[titan] gstreamer... subtititle adjustment

File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/player.h

    r32759 r32776  
    600600
    601601#ifdef EPLAYER4
     602void playersubtitleclean(char* data, int len)
     603{
     604        char* zeichen = NULL;
     605        int found = 1;
     606       
     607        while(found == 1)
     608        {
     609                found = 0;
     610                zeichen = NULL;
     611                zeichen = strstr(data, "'");
     612                if(zeichen != NULL)
     613                {
     614                        zeichen[0] = '\'';
     615                        memcpy(zeichen+1, zeichen+6, len - (zeichen - data + 1));
     616                        found = 1;
     617                }
     618                zeichen = NULL;
     619                zeichen = strstr(data, "&");
     620                if(zeichen != NULL)
     621                {
     622                        zeichen[0] = '&';
     623                        memcpy(zeichen+1, zeichen+5, len - (zeichen - data + 1));
     624                        found = 1;
     625                }
     626                zeichen = NULL;
     627                zeichen = strstr(data, """);
     628                if(zeichen != NULL)
     629                {
     630                        zeichen[0] = '"';
     631                        memcpy(zeichen+1, zeichen+6, len - (zeichen - data + 1));
     632                        found = 1;
     633                }
     634                zeichen = NULL;
     635                zeichen = strstr(data, "<");
     636                if(zeichen != NULL)
     637                {
     638                        zeichen[0] = '<';
     639                        memcpy(zeichen+1, zeichen+4, len - (zeichen - data + 1));
     640                        found = 1;
     641                }
     642                zeichen = NULL;
     643                zeichen = strstr(data, "&gt;");
     644                if(zeichen != NULL)
     645                {
     646                        zeichen[0] = '<';
     647                        memcpy(zeichen+1, zeichen+4, len - (zeichen - data + 1));
     648                        found = 1;
     649                }
     650                //workaround da keine Aufbereitung
     651                zeichen = NULL;
     652                zeichen = strstr(data, "<i>");
     653                if(zeichen != NULL)
     654                {
     655                        memcpy(zeichen, zeichen+3, len - (zeichen - data + 1));
     656                        found = 1;
     657                }
     658                zeichen = NULL;
     659                zeichen = strstr(data, "</i>");
     660                if(zeichen != NULL)
     661                {
     662                        memcpy(zeichen, zeichen+4, len - (zeichen - data + 1));
     663                        found = 1;
     664                }
     665        }
     666}
     667#endif
     668
     669#ifdef EPLAYER4
    602670void playersubtitle_thread()
    603671{
     
    642710void playersubtitleAvail(GstElement *subsink, GstBuffer *buffer, gpointer user_data)
    643711{
    644         printf("++++++ subtitelflag: %i\n", subtitleflag);
     712        //printf("++++++ subtitelflag: %i\n", subtitleflag);
    645713        if(subtitleflag == 0 || subtitleflag == 2) return;
    646714       
     
    674742#endif
    675743       
    676         printf("BUFFER_TIMESTAMP: %lld - BUFFER_DURATION: %lld in ns\n", buf_pos, duration_ns);
    677         printf("BUFFER_SIZE: %d\n", len);
    678         printf("BUFFER_DATA: %s\n", GST_BUFFER_DATA(buffer));
     744        //printf("BUFFER_TIMESTAMP: %lld - BUFFER_DURATION: %lld in ns\n", buf_pos, duration_ns);
     745        //printf("BUFFER_SIZE: %d\n", len);
     746        //printf("BUFFER_DATA: %s\n", GST_BUFFER_DATA(buffer));
    679747       
    680748        while(duration_ms != 0 && subtitlethread != NULL)
     
    691759        }               
    692760        sprintf(subtext, "%s", GST_BUFFER_DATA(buffer));
     761        playersubtitleclean(subtext, len+10);
    693762       
    694763        double convert_fps = 1.0;
     
    696765        duration_ms = duration_ns / 1000000ULL;
    697766
    698         printf("++++++ buff_pos  : %u\n", buf_pos_ms);
    699         printf("++++++ decoder_ms: %i\n", decoder_ms);
     767        //printf("++++++ buff_pos  : %u\n", buf_pos_ms);
     768        //printf("++++++ decoder_ms: %i\n", decoder_ms);
    700769}
    701770#endif
     
    11021171                //      break;
    11031172                case GST_MESSAGE_ELEMENT:
    1104                         printf("***************----***************-----**********\n");
     1173                        debug(150, "GST_MESSAGE_ELEMENT");
    11051174                        const GstStructure *msgstruct = gst_message_get_structure(msg);
    11061175                        if (msgstruct)
Note: See TracChangeset for help on using the changeset viewer.