foobar2000 SDK  2015-08-03
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes
decode_postprocessor

#include <decode_postprocessor.h>

Public Types

typedef decode_postprocessor_instance::ptr item
 

Public Member Functions

void close ()
 
void flush ()
 
double get_buffer_ahead ()
 
bool get_dynamic_info (file_info &p_out)
 
void initialize (const file_info &info)
 
bool is_active () const
 
void run (dsp_chunk_list &p_chunk_list, bool p_eof, abort_callback &p_abort)
 

Static Public Member Functions

static bool should_bother ()
 

Private Attributes

pfc::list_t< itemm_items
 

Detailed Description

Helper class for managing decode_postprocessor_instance objects. See also: input_postprocessed.

Definition at line 32 of file decode_postprocessor.h.

Member Typedef Documentation

typedef decode_postprocessor_instance::ptr decode_postprocessor::item

Definition at line 34 of file decode_postprocessor.h.

Member Function Documentation

void decode_postprocessor::close ( )
inline

Definition at line 68 of file decode_postprocessor.h.

68  {
70  }
void remove_all()
Definition: list.h:530
pfc::list_t< item > m_items
void decode_postprocessor::flush ( )
inline

Definition at line 50 of file decode_postprocessor.h.

50  {
51  for(t_size walk = 0; walk < m_items.get_size(); ++walk) {
52  m_items[walk]->flush();
53  }
54  }
t_size get_size() const
Definition: list.h:366
size_t t_size
Definition: int_types.h:48
pfc::list_t< item > m_items
double decode_postprocessor::get_buffer_ahead ( )
inline

Definition at line 71 of file decode_postprocessor.h.

71  {
72  double acc = 0;
73  for(t_size walk = 0; walk < m_items.get_size(); ++walk) {
74  pfc::max_acc(acc, m_items[walk]->get_buffer_ahead());
75  }
76  return acc;
77  }
t_size get_size() const
Definition: list.h:366
void max_acc(t_val &p_acc, const t_val &p_val)
Definition: primitives.h:834
size_t t_size
Definition: int_types.h:48
pfc::list_t< item > m_items
bool decode_postprocessor::get_dynamic_info ( file_info p_out)
inline

Definition at line 61 of file decode_postprocessor.h.

61  {
62  bool rv = false;
63  for(t_size walk = 0; walk < m_items.get_size(); ++walk) {
64  if (m_items[walk]->get_dynamic_info(p_out)) rv = true;
65  }
66  return rv;
67  }
t_size get_size() const
Definition: list.h:366
size_t t_size
Definition: int_types.h:48
pfc::list_t< item > m_items
bool get_dynamic_info(file_info &p_out)
void decode_postprocessor::initialize ( const file_info info)
inline

Definition at line 35 of file decode_postprocessor.h.

35  {
38  decode_postprocessor_entry::ptr ptr;
39  while(e.next(ptr)) {
40  item i;
41  if (ptr->instantiate(info, i)) m_items += i;
42  }
43  }
decode_postprocessor_instance::ptr item
void remove_all()
Definition: list.h:530
bool next(service_ptr_t< t_query > &p_out)
Definition: service.h:587
pfc::list_t< item > m_items
bool decode_postprocessor::is_active ( ) const
inline

Definition at line 58 of file decode_postprocessor.h.

58  {
59  return m_items.get_size() > 0;
60  }
t_size get_size() const
Definition: list.h:366
pfc::list_t< item > m_items
void decode_postprocessor::run ( dsp_chunk_list p_chunk_list,
bool  p_eof,
abort_callback p_abort 
)
inline

Definition at line 44 of file decode_postprocessor.h.

44  {
46  for(t_size walk = 0; walk < m_items.get_size(); ++walk) {
47  if (m_items[walk]->run(p_chunk_list, flags, p_abort)) flags |= decode_postprocessor_instance::flag_altered;
48  }
49  }
Stream has already been altered by another instance.
t_size get_size() const
Definition: list.h:366
void run(dsp_chunk_list &p_chunk_list, bool p_eof, abort_callback &p_abort)
size_t t_size
Definition: int_types.h:48
End of stream. Flush any buffered data during this call.
pfc::list_t< item > m_items
uint32_t t_uint32
Definition: int_types.h:5
static bool decode_postprocessor::should_bother ( )
inlinestatic

Definition at line 55 of file decode_postprocessor.h.

55  {
56  return service_factory_base::is_service_present(decode_postprocessor_entry::class_guid);
57  }
static bool is_service_present(const GUID &g)
Definition: service.h:394

Field Documentation

pfc::list_t<item> decode_postprocessor::m_items
private

Definition at line 79 of file decode_postprocessor.h.


The documentation for this class was generated from the following file: