[C++] [Gstreamer] Записать буфер в файл с помощью filesink

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by dedmazay, 16 Jan 2015.

  1. dedmazay

    dedmazay New Member

    Joined:
    14 Dec 2011
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Я получаю буфер(данные с веб камеры, кодированный H264) от appsink и хочю записать его в один файл. Пробовал с fwrite, не получилось. Из while() не выхожу.
    Code:
    [...]
    
    while( !gst_app_sink_is_eos(appsink) )                                  
            {                                                                       
                                                                                    
                    GstBuffer *buffer = gst_app_sink_pull_buffer(appsink);          
                    uint8_t* data = (uint8_t*)GST_BUFFER_DATA(buffer);              
                    uint32_t size = GST_BUFFER_SIZE(buffer);                        
                    printf(" got buffer: size = %d, data=0x%p\n", size, data );     
                                                                                    
                                                          
                    gst_buffer_unref(buffer);                                       
                    // do not use buffer data here any more!*/                      
                                                                                    
                          
            }       
    [...]
    
     
    #1 dedmazay, 16 Jan 2015
    Last edited: 16 Jan 2015