DirectShowIOSource::DirectShowIOSource(DirectShowEventLoop *loop) : m_ref(1) , m_state(State_Stopped) , m_reader(0) , m_loop(loop) , m_graph(0) , m_clock(0) , m_allocator(0) , m_peerPin(0) , m_pinId(QLatin1String("Data")) { QVector<AM_MEDIA_TYPE> mediaTypes; AM_MEDIA_TYPE type = { MEDIATYPE_Stream, // majortype MEDIASUBTYPE_NULL, // subtype TRUE, // bFixedSizeSamples FALSE, // bTemporalCompression 1, // lSampleSize GUID_NULL, // formattype 0, // pUnk 0, // cbFormat 0, // pbFormat }; static const int count = sizeof(directshow_subtypes) / sizeof(GUID); for (int i = 0; i < count; ++i) { type.subtype = directshow_subtypes[i]; mediaTypes.append(type); } setMediaTypes(mediaTypes); }
void ResourceEntry::insertMediaType(std::string mts) { if (Find("media-types") != End()) { InfoResArray& array = (InfoResArray&)((Array&)(*this)["prop-types"]); array.insert(mts); } else { std::vector<std::string> v_mts(1, mts); setMediaTypes(v_mts); } }