Limit source code to 80 chars, and declare functions return type and modifiers on a separate line. This allows to avoid very long lines, and all function names are aligned. (We do this on VLC, and I like it.)
The purpose of video_buffer_stop() is to interrupt any blocking call, so rename it to video_buffer_interrupt().
It better describes the purpose of the structure.