コード例 #1
0
ファイル: avdec_common.c プロジェクト: Jheengut/gmerlin
void bg_avdec_set_callbacks(void * priv,
                            bg_input_callbacks_t * callbacks)
  {
  bgav_options_t * opt;
  avdec_priv * avdec = priv;
  avdec->bg_callbacks = callbacks;

  if(!callbacks)
    return;
  
  
  bgav_options_set_buffer_callback(avdec->opt,
                           avdec->bg_callbacks->buffer_notify,
                           avdec->bg_callbacks->data);

  bgav_options_set_user_pass_callback(avdec->opt,
                             avdec->bg_callbacks->user_pass,
                             avdec->bg_callbacks->data);
  
  bgav_options_set_aspect_callback(avdec->opt,
                                   avdec->bg_callbacks->aspect_changed,
                                   avdec->bg_callbacks->data);
  
  if(avdec->bg_callbacks->metadata_changed)
    {
    bgav_options_set_metadata_change_callback(avdec->opt,
                                      metadata_change_callback,
                                      priv);
    }
  if(avdec->dec)
    {
    opt = bgav_get_options(avdec->dec);
    bgav_options_copy(opt, avdec->opt);
    }
  }
コード例 #2
0
// NOT PUBLIC
// Clears the bgav_t struct, destroying and then creating it
// NO NEED TO DO AV LOCK, only called in the opener thread
void ReadMedia::clearFile() {
	if (m_file != NULL)
		bgav_close( m_file );

	m_file = bgav_create();
	bgav_options_copy( bgav_get_options( m_file ) , m_opt);
	m_aeof = true;
	m_veof = true;
	m_pcm_seek = SEEK_NOTHING;
	m_frame_seek = SEEK_NOTHING;
}
コード例 #3
0
ファイル: i_avdec.c プロジェクト: Jheengut/gmerlin
static int open_avdec(void * priv, const char * location)
  {
  bgav_options_t * opt;
  avdec_priv * avdec = priv;

  avdec->dec = bgav_create();
  opt = bgav_get_options(avdec->dec);

  bgav_options_copy(opt, avdec->opt);
  
  if(!bgav_open(avdec->dec, location))
    return 0;
  return open_common(avdec);
  }
コード例 #4
0
ファイル: i_avdec.c プロジェクト: Jheengut/gmerlin
static int open_io_avdec(void * priv, gavf_io_t * io)
  {
  bgav_options_t * opt;
  avdec_priv * avdec = priv;

  avdec->dec = bgav_create();
  opt = bgav_get_options(avdec->dec);

  bgav_options_copy(opt, avdec->opt);
  
  if(!bgav_open_callbacks(avdec->dec, read_callback, 
                          gavf_io_can_seek(io) ? seek_callback : 0, io, 
                          gavf_io_filename(io), gavf_io_mimetype(io),
                          gavf_io_total_bytes(io)))
    return 0;
  return open_common(avdec);
  }