Example #1
0
//! \brief call stop, free mutex, clear stack, free capture-Modul
void ende()
{
    if(mutex_lock(mutex))
        printf("encoder.ende Fehler beu mutex_lock 1\n");
    g_run = 0;
    if(mutex_unlock(mutex))
        printf("encoder.ende Fehler bei mutex_unlock 1\n");
    stop();
    if(mutex_lock(mutex))
        printf("encoder.ende Fehler bei mutex_lock 2\n");
    //löschen des letzten Frames
    getFrame(NULL, NULL);
    if(mutex_unlock(mutex))
        printf("encoder.ende Fehler bei mutex_unlock 2\n");

    mutex_close(mutex);
    mutex = NULL;
 
    printf("Frames on Stack: %d\n", count_stack(g_FrameBuffer));
    clear_stack(g_FrameBuffer);
    if(capture)
    {
        capture->ende();
        interface_close(capture);
    }
    capture = NULL;
    printf("encoder.ende Encoder Modul ende\n");
}
Example #2
0
//! \brief release pictures, release mutex
//!
//! <b>Important!</b> call stop before ende
void ende()
{
    picture_release(&g_rgbPicture);
    picture_release(&g_yuvPicture);
    printf("capture.ende: called\n");

    mutex_close(mutex);
    mutex = NULL;

}
Example #3
0
try_unlock(sem_t *mutex)
{
    mutex_unlock(mutex);
    mutex_close(mutex);
}