2 * Copyright 2017 Fabian Maurer
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #include "wine/debug.h"
25 #include "evr_private.h"
31 WINE_DEFAULT_DEBUG_CHANNEL(evr
);
35 struct strmbase_renderer renderer
;
38 static struct evr
*impl_from_strmbase_renderer(struct strmbase_renderer
*iface
)
40 return CONTAINING_RECORD(iface
, struct evr
, renderer
);
43 static void evr_destroy(struct strmbase_renderer
*iface
)
45 struct evr
*filter
= impl_from_strmbase_renderer(iface
);
47 strmbase_renderer_cleanup(&filter
->renderer
);
51 static HRESULT WINAPI
evr_DoRenderSample(struct strmbase_renderer
*iface
, IMediaSample
*sample
)
53 FIXME("Not implemented.\n");
57 static HRESULT WINAPI
evr_CheckMediaType(struct strmbase_renderer
*iface
, const AM_MEDIA_TYPE
*mt
)
59 FIXME("Not implemented.\n");
63 static const struct strmbase_renderer_ops renderer_ops
=
65 .pfnCheckMediaType
= evr_CheckMediaType
,
66 .pfnDoRenderSample
= evr_DoRenderSample
,
67 .renderer_destroy
= evr_destroy
,
70 HRESULT
evr_filter_create(IUnknown
*outer
, void **out
)
74 if (!(object
= calloc(1, sizeof(*object
))))
77 strmbase_renderer_init(&object
->renderer
, outer
,
78 &CLSID_EnhancedVideoRenderer
, L
"EVR Input0", &renderer_ops
);
80 TRACE("Created EVR %p.\n", object
);
81 *out
= &object
->renderer
.filter
.IUnknown_inner
;