Example #1
0
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);
}
Example #2
0
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);
	}
}