## ucil_theora

ucil_theora

## Synopsis

    struct              ucil_theora_video_file_object;
    typedef             ucil_theora_video_file_object_t;
    struct              ucil_theora_input_file_object;
    typedef             ucil_theora_input_file_object_t;
    ucil_theora_video_file_object_t* ucil_theora_create_video_file
                                                            (const char *path,
                                                             unicap_format_t *format,
                                                             va_list ap);

## Description

## Details

### struct ucil_theora_video_file_object

    struct ucil_theora_video_file_object {
          ogg_stream_state os;
          theora_info ti;
          theora_state th;
          FILE *f;

          int blocking_mode;

          int downsize;

          unicap_format_t format;

          int fill_frames;
          unsigned long long frame_interval;
          struct timeval last_frame_time;
          struct timeval recording_start_time;
          int frame_count;
          ogg_packet op;

          pthread_t encoder_thread;
          int quit_thread;
          struct _unicap_queue *full_queue;
          struct _unicap_queue *empty_queue;
          struct _unicap_queue *last_frame;

          unicap_new_frame_callback_t encode_frame_cb;
          void *encode_frame_cb_data;

          vorbis_info      vi;
          vorbis_dsp_state vd;
          ogg_stream_state vo;
          vorbis_block     vb;

          int          audio;
          void        *audio_data;
          char         audio_card[64];
          unsigned int audio_rate;
          int          vorbis_bitrate;
          unsigned int total_samples;
          int          async_audio_encoding;
          FILE        *audiof;

          int nocopy;

          sem_t sema;

          int requires_resizing_frames;
    };

### ucil_theora_video_file_object_t

    typedef struct _ucil_theora_video_file_object ucil_theora_video_file_object_t;

### struct ucil_theora_input_file_object

    struct ucil_theora_input_file_object {
          FILE *f;
          ogg_sync_state oy;
          ogg_stream_state os;
          theora_state th;
          theora_info ti;

          pthread_t worker_thread;

          int quit_capture_thread;
          int frame_intervall;

          unicap_format_t format;
          unicap_event_callback_t event_callback;
          unicap_handle_t         event_unicap_handle;

          struct _unicap_queue *in_queue;
          struct _unicap_queue *out_queue;

          sem_t sema;
    };

### ucil_theora_input_file_object_t

    typedef struct _ucil_theora_input_file_object ucil_theora_input_file_object_t;

### ucil_theora_create_video_file ()

    ucil_theora_video_file_object_t* ucil_theora_create_video_file
                                                            (const char *path,
                                                             unicap_format_t *format,
                                                             va_list ap);

`path` : |
`format` : |
`ap` : |
Returns : |