ReactOS 0.4.16-dev-122-g325d74c
timeline.c
Go to the documentation of this file.
1/* DirectShow Timeline object (QEDIT.DLL)
2 *
3 * Copyright 2016 Alex Henrie
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 */
19
20#include <assert.h>
21#include <stdarg.h>
22
23#define COBJMACROS
24
25#include "windef.h"
26#include "winbase.h"
27#include "winuser.h"
28#include "ole2.h"
29
30#include "qedit_private.h"
31#include "wine/debug.h"
32
34
35typedef struct {
41
43{
44 return CONTAINING_RECORD(iface, TimelineImpl, IUnknown_inner);
45}
46
48{
49 return CONTAINING_RECORD(iface, TimelineImpl, IAMTimeline_iface);
50}
51
52typedef struct {
58
60{
61 return CONTAINING_RECORD(iface, TimelineObjImpl, IAMTimelineObj_iface);
62}
63
65{
66 return CONTAINING_RECORD(iface, TimelineObjImpl, IAMTimelineGroup_iface);
67}
68
69static const IAMTimelineObjVtbl IAMTimelineObj_VTable;
70static const IAMTimelineGroupVtbl IAMTimelineGroup_VTable;
71
72/* Timeline inner IUnknown */
73
75{
77
78 TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
79
80 if (!ppv)
81 return E_POINTER;
82
83 *ppv = NULL;
85 *ppv = &This->IUnknown_inner;
86 else if (IsEqualIID(riid, &IID_IAMTimeline))
87 *ppv = &This->IAMTimeline_iface;
88 else
89 WARN("(%p, %s,%p): not found\n", This, debugstr_guid(riid), ppv);
90
91 if (!*ppv)
92 return E_NOINTERFACE;
93
94 IUnknown_AddRef((IUnknown*)*ppv);
95 return S_OK;
96}
97
99{
102
103 TRACE("(%p) new ref = %u\n", This, ref);
104
105 return ref;
106}
107
109{
112
113 TRACE("(%p) new ref = %u\n", This, ref);
114
115 if (ref == 0)
117
118 return ref;
119}
120
121static const IUnknownVtbl timeline_vtbl =
122{
126};
127
128/* IAMTimeline implementation */
129
131{
133 return IUnknown_QueryInterface(This->outer_unk, riid, ppv);
134}
135
137{
139 return IUnknown_AddRef(This->outer_unk);
140}
141
143{
145 return IUnknown_Release(This->outer_unk);
146}
147
150{
152 TimelineObjImpl* obj_impl;
153
154 TRACE("(%p)->(%p,%d)\n", This, obj, type);
155
156 if (!obj)
157 return E_POINTER;
158
159 switch (type)
160 {
167 break;
168 default:
169 return E_INVALIDARG;
170 }
171
172 obj_impl = CoTaskMemAlloc(sizeof(TimelineObjImpl));
173 if (!obj_impl) {
174 *obj = NULL;
175 return E_OUTOFMEMORY;
176 }
177
178 obj_impl->ref = 1;
181 obj_impl->timeline_type = type;
182
183 *obj = &obj_impl->IAMTimelineObj_iface;
184 return S_OK;
185}
186
188{
190 FIXME("(%p)->(%p): not implemented!\n", This, group);
191 return E_NOTIMPL;
192}
193
195{
197 FIXME("(%p)->(%p): not implemented!\n", This, group);
198 return E_NOTIMPL;
199}
200
202{
204 FIXME("(%p)->(%p,%d): not implemented!\n", This, group, index);
205 return E_NOTIMPL;
206}
207
209{
211 FIXME("(%p)->(%p): not implemented!\n", This, count);
212 return E_NOTIMPL;
213}
214
216{
218 FIXME("(%p): not implemented!\n", This);
219 return E_NOTIMPL;
220}
221
223{
225 FIXME("(%p)->(%p): not implemented!\n", This, mode);
226 return E_NOTIMPL;
227}
228
230{
232 FIXME("(%p)->(%d): not implemented!\n", This, mode);
233 return E_NOTIMPL;
234}
235
237{
239 FIXME("(%p)->(%d): not implemented!\n", This, enabled);
240 return E_NOTIMPL;
241}
242
244{
246 FIXME("(%p)->(%p): not implemented!\n", This, enabled);
247 return E_NOTIMPL;
248}
249
251{
253 FIXME("(%p)->(%d): not implemented!\n", This, enabled);
254 return E_NOTIMPL;
255}
256
258{
260 FIXME("(%p)->(%p): not implemented!\n", This, enabled);
261 return E_NOTIMPL;
262}
263
265 REFERENCE_TIME stop)
266{
268 FIXME("(%p)->(%s,%s): not implemented!\n", This, wine_dbgstr_longlong(start),
270 return E_NOTIMPL;
271}
272
274{
276 FIXME("(%p)->(%p): not implemented!\n", This, duration);
277 return E_NOTIMPL;
278}
279
281{
283 FIXME("(%p)->(%p): not implemented!\n", This, duration);
284 return E_NOTIMPL;
285}
286
288{
290 FIXME("(%p)->(%f): not implemented!\n", This, fps);
291 return E_NOTIMPL;
292}
293
295{
297 FIXME("(%p)->(%p): not implemented!\n", This, fps);
298 return E_NOTIMPL;
299}
300
302{
304 FIXME("(%p)->(%p): not implemented!\n", This, dirty);
305 return E_NOTIMPL;
306}
307
309 REFERENCE_TIME *stop)
310{
312 FIXME("(%p)->(%p,%p): not implemented!\n", This, start, stop);
313 return E_NOTIMPL;
314}
315
317 LONG *value_with_comps, TIMELINE_MAJOR_TYPE type)
318{
320 FIXME("(%p)->(%d,%p,%p,%04x): not implemented!\n", This, group, value, value_with_comps, type);
321 return E_NOTIMPL;
322}
323
325 LONG_PTR notify_event)
326{
328 FIXME("(%p)->(%d,%p,%lx): not implemented!\n", This, flags, override, notify_event);
329 return E_NOTIMPL;
330}
331
333{
335 FIXME("(%p)->(%s): not implemented!\n", This, wine_dbgstr_guid(guid));
336 return E_NOTIMPL;
337}
338
340{
342 FIXME("(%p)->(%s): not implemented!\n", This, wine_dbgstr_guid(guid));
343 return E_NOTIMPL;
344}
345
347{
349 FIXME("(%p)->(%s): not implemented!\n", This, wine_dbgstr_guid(guid));
350 return E_NOTIMPL;
351}
352
354{
356 FIXME("(%p)->(%s): not implemented!\n", This, wine_dbgstr_guid(guid));
357 return E_NOTIMPL;
358}
359
361{
363 FIXME("(%p)->(%p): not implemented!\n", This, guidb);
364 return E_NOTIMPL;
365}
366
368{
370 FIXME("(%p)->(%p): not implemented!\n", This, guidb);
371 return E_NOTIMPL;
372}
373
375{
377 FIXME("(%p)->(%p): not implemented!\n", This, guidb);
378 return E_NOTIMPL;
379}
380
382{
384 FIXME("(%p)->(%p): not implemented!\n", This, guidb);
385 return E_NOTIMPL;
386}
387
388static const IAMTimelineVtbl IAMTimeline_VTable =
389{
422};
423
425{
427
428 TRACE("(%p,%p)\n", pUnkOuter, ppv);
429
431 if (NULL == obj) {
432 *ppv = NULL;
433 return E_OUTOFMEMORY;
434 }
435 ZeroMemory(obj, sizeof(TimelineImpl));
436
437 obj->ref = 1;
438 obj->IUnknown_inner.lpVtbl = &timeline_vtbl;
439 obj->IAMTimeline_iface.lpVtbl = &IAMTimeline_VTable;
440
441 if (pUnkOuter)
442 obj->outer_unk = pUnkOuter;
443 else
444 obj->outer_unk = &obj->IUnknown_inner;
445
446 *ppv = &obj->IUnknown_inner;
447 return S_OK;
448}
449
450/* IAMTimelineObj implementation */
451
453{
455
456 TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
457
458 if (!ppv)
459 return E_POINTER;
460
461 *ppv = NULL;
462 if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IAMTimelineObj))
463 *ppv = &This->IAMTimelineObj_iface;
464 else if (IsEqualIID(riid, &IID_IAMTimelineGroup))
465 *ppv = &This->IAMTimelineGroup_iface;
466 else
467 WARN("(%p, %s,%p): not found\n", This, debugstr_guid(riid), ppv);
468
469 if (!*ppv)
470 return E_NOINTERFACE;
471
472 IUnknown_AddRef((IUnknown*)*ppv);
473 return S_OK;
474}
475
477{
480
481 TRACE("(%p) new ref = %u\n", This, ref);
482
483 return ref;
484}
485
487{
490
491 TRACE("(%p) new ref = %u\n", This, ref);
492
493 if (!ref)
495
496 return ref;
497}
498
500{
502 FIXME("(%p)->(%p,%p): not implemented!\n", This, start, stop);
503 return E_NOTIMPL;
504}
505
507{
509 FIXME("(%p)->(%p,%p): not implemented!\n", This, start, stop);
510 return E_NOTIMPL;
511}
512
514{
516 FIXME("(%p)->(%p,%p): not implemented!\n", This, start, stop);
517 return E_NOTIMPL;
518}
519
521{
523 FIXME("(%p)->(%p,%p): not implemented!\n", This, start, stop);
524 return E_NOTIMPL;
525}
526
528{
530 FIXME("(%p)->(%s,%s): not implemented!\n", This, wine_dbgstr_longlong(start), wine_dbgstr_longlong(stop));
531 return E_NOTIMPL;
532}
533
535{
537 FIXME("(%p)->(%f,%f): not implemented!\n", This, start, stop);
538 return E_NOTIMPL;
539}
540
542{
544 FIXME("(%p)->(%p): not implemented!\n", This, setter);
545 return E_NOTIMPL;
546}
547
549{
551 FIXME("(%p)->(%p): not implemented!\n", This, setter);
552 return E_NOTIMPL;
553}
554
556{
558 FIXME("(%p)->(%p): not implemented!\n", This, obj);
559 return E_NOTIMPL;
560}
561
563{
565 FIXME("(%p)->(%p): not implemented!\n", This, obj);
566 return E_NOTIMPL;
567}
568
570{
572 FIXME("(%p)->(%s): not implemented!\n", This, wine_dbgstr_guid(&guid));
573 return E_NOTIMPL;
574}
575
577{
579 FIXME("(%p)->(%s): not implemented!\n", This, wine_dbgstr_w(guidb));
580 return E_NOTIMPL;
581}
582
584{
586 FIXME("(%p)->(%p): not implemented!\n", This, guid);
587 return E_NOTIMPL;
588}
589
591{
593 FIXME("(%p)->(%p): not implemented!\n", This, guidb);
594 return E_NOTIMPL;
595}
596
598{
600 FIXME("(%p)->(%p): not implemented!\n", This, loaded);
601 return E_NOTIMPL;
602}
603
605{
607 TRACE("(%p)->(%p)\n", This, type);
608 if (!type) return E_POINTER;
609 *type = This->timeline_type;
610 return S_OK;
611}
612
614{
615 /* MSDN says that this function is "not supported" */
617 TRACE("(%p)->(%d)\n", This, type);
618 if (type != This->timeline_type) return E_INVALIDARG;
619 return S_OK;
620}
621
623{
625 FIXME("(%p)->(%p): not implemented!\n", This, id);
626 return E_NOTIMPL;
627}
628
630{
632 FIXME("(%p)->(%d): not implemented!\n", This, id);
633 return E_NOTIMPL;
634}
635
637{
639 FIXME("(%p)->(%p): not implemented!\n", This, id);
640 return E_NOTIMPL;
641}
642
644{
646 FIXME("(%p)->(%p): not implemented!\n", This, name);
647 return E_NOTIMPL;
648}
649
651{
653 FIXME("(%p)->(%s): not implemented!\n", This, wine_dbgstr_w(name));
654 return E_NOTIMPL;
655}
656
658{
660 FIXME("(%p)->(%p,%p): not implemented!\n", This, data, size);
661 return E_NOTIMPL;
662}
663
665{
667 FIXME("(%p)->(%p,%d): not implemented!\n", This, data, size);
668 return E_NOTIMPL;
669}
670
672{
674 FIXME("(%p)->(%p): not implemented!\n", This, muted);
675 return E_NOTIMPL;
676}
677
679{
681 FIXME("(%p)->(%d): not implemented!\n", This, muted);
682 return E_NOTIMPL;
683}
684
686{
688 FIXME("(%p)->(%p): not implemented!\n", This, locked);
689 return E_NOTIMPL;
690}
691
693{
695 FIXME("(%p)->(%d): not implemented!\n", This, locked);
696 return E_NOTIMPL;
697}
698
700{
702 FIXME("(%p)->(%p,%p): not implemented!\n", This, start, stop);
703 return E_NOTIMPL;
704}
705
707{
709 FIXME("(%p)->(%p,%p): not implemented!\n", This, start, stop);
710 return E_NOTIMPL;
711}
712
714{
716 FIXME("(%p)->(%s,%s): not implemented!\n", This, wine_dbgstr_longlong(start), wine_dbgstr_longlong(stop));
717 return E_NOTIMPL;
718}
719
721{
723 FIXME("(%p)->(%f,%f): not implemented!\n", This, start, stop);
724 return E_NOTIMPL;
725}
726
728{
730 FIXME("(%p): not implemented!\n", This);
731 return E_NOTIMPL;
732}
733
735{
737 FIXME("(%p): not implemented!\n", This);
738 return E_NOTIMPL;
739}
740
742{
744 FIXME("(%p): not implemented!\n", This);
745 return E_NOTIMPL;
746}
747
749{
750 /* MSDN says that this function is "not supported" */
752 TRACE("(%p)->(%p)\n", This, timeline);
753 if (!timeline) return E_POINTER;
754 *timeline = NULL;
755 return E_NOINTERFACE;
756}
757
759{
761 FIXME("(%p)->(%p): not implemented!\n", This, group);
762 return E_NOTIMPL;
763}
764
766{
768 FIXME("(%p)->(%p): not implemented!\n", This, depth);
769 return E_NOTIMPL;
770}
771
772static const IAMTimelineObjVtbl IAMTimelineObj_VTable =
773{
815};
816
818{
820 return IAMTimelineObj_QueryInterface(&This->IAMTimelineObj_iface, riid, object);
821}
822
824{
826 return IAMTimelineObj_AddRef(&This->IAMTimelineObj_iface);
827}
828
830{
832 return IAMTimelineObj_Release(&This->IAMTimelineObj_iface);
833}
834
836{
838 FIXME("(%p)->(%p)\n", This, timeline);
839 return E_NOTIMPL;
840}
841
843{
845 FIXME("(%p)->(%p)\n", This, timeline);
846 return E_NOTIMPL;
847}
848
850{
852 FIXME("(%p)->(%p)\n", This, priority);
853 return E_NOTIMPL;
854}
855
857{
859 FIXME("(%p)->(%p)\n", This, mediatype);
860 return E_NOTIMPL;
861}
862
864{
866 FIXME("(%p)->(%p)\n", This, mediatype);
867 return E_NOTIMPL;
868}
869
871{
873 FIXME("(%p)->(%f)\n", This, fps);
874 return E_NOTIMPL;
875}
876
878{
880 FIXME("(%p)->(%p)\n", This, fps);
881 return E_NOTIMPL;
882}
883
885{
887 FIXME("(%p)->(%s)\n", This, debugstr_w(name));
888 return E_NOTIMPL;
889}
890
892{
894 FIXME("(%p)->(%p)\n", This, name);
895 return E_NOTIMPL;
896}
897
899{
901 FIXME("(%p)->(%d)\n", This, preview);
902 return E_NOTIMPL;
903}
904
906{
908 FIXME("(%p)->(%p)\n", This, preview);
909 return E_NOTIMPL;
910}
911
913{
915 FIXME("(%p)->(%d)\n", This, type);
916 return E_NOTIMPL;
917}
918
920{
922 FIXME("(%p)->(%p)\n", This, buffer);
923 return E_NOTIMPL;
924}
925
927{
929 FIXME("(%p)->(%d)\n", This, buffer);
930 return E_NOTIMPL;
931}
932
934{
936 FIXME("(%p)->(%p)\n", This, format);
937 return E_NOTIMPL;
938}
939
941{
943 FIXME("(%p)->(%p)\n", This, format);
944 return E_NOTIMPL;
945}
946
948{
950 FIXME("(%p)->(%p)\n", This, set);
951 return E_NOTIMPL;
952}
953
955{
957 FIXME("(%p)->(%p)\n", This, dirty);
958 return E_NOTIMPL;
959}
960
962{
964 FIXME("(%p)->()\n", This);
965 return E_NOTIMPL;
966}
967
969{
971 FIXME("(%p)->(%p)\n", This, source);
972 return E_NOTIMPL;
973}
974
975static const IAMTimelineGroupVtbl IAMTimelineGroup_VTable =
976{
1000};
#define InterlockedIncrement
Definition: armddk.h:53
#define InterlockedDecrement
Definition: armddk.h:52
DOUBLE REFTIME
Definition: axcore.idl:57
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
static previewinfo preview
Definition: print.c:56
#define FIXME(fmt,...)
Definition: precomp.h:53
#define WARN(fmt,...)
Definition: precomp.h:61
const GUID IID_IUnknown
Definition: _set.h:50
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
#define E_NOTIMPL
Definition: ddrawi.h:99
#define NULL
Definition: types.h:112
static HRESULT WINAPI TimelineObj_GetSubObjectGUID(IAMTimelineObj *iface, GUID *guid)
Definition: timeline.c:583
static HRESULT WINAPI TimelineObj_GetPropertySetter(IAMTimelineObj *iface, IPropertySetter **setter)
Definition: timeline.c:541
static HRESULT WINAPI timelinegrp_GetOutputFPS(IAMTimelineGroup *iface, double *fps)
Definition: timeline.c:877
static HRESULT WINAPI TimelineObj_GetStartStop(IAMTimelineObj *iface, REFERENCE_TIME *start, REFERENCE_TIME *stop)
Definition: timeline.c:499
static HRESULT WINAPI TimelineObj_GetDirtyRange2(IAMTimelineObj *iface, REFTIME *start, REFTIME *stop)
Definition: timeline.c:706
static HRESULT WINAPI TimelineObj_SetUserName(IAMTimelineObj *iface, BSTR name)
Definition: timeline.c:650
static TimelineImpl * impl_from_IUnknown(IUnknown *iface)
Definition: timeline.c:42
static HRESULT WINAPI Timeline_IAMTimeline_GetDefaultTransitionB(IAMTimeline *iface, BSTR *guidb)
Definition: timeline.c:367
static HRESULT WINAPI TimelineObj_GetSubObjectGUIDB(IAMTimelineObj *iface, BSTR *guidb)
Definition: timeline.c:590
static const IUnknownVtbl timeline_vtbl
Definition: timeline.c:121
static HRESULT WINAPI timelinegrp_GetTimeline(IAMTimelineGroup *iface, IAMTimeline **timeline)
Definition: timeline.c:842
static HRESULT WINAPI TimelineObj_SetSubObject(IAMTimelineObj *iface, IUnknown *obj)
Definition: timeline.c:562
static HRESULT WINAPI TimelineObj_ClearDirty(IAMTimelineObj *iface)
Definition: timeline.c:727
static HRESULT WINAPI TimelineObj_SetUserID(IAMTimelineObj *iface, LONG id)
Definition: timeline.c:629
static HRESULT WINAPI TimelineObj_GetUserData(IAMTimelineObj *iface, BYTE *data, LONG *size)
Definition: timeline.c:657
static HRESULT WINAPI timelinegrp_SetMediaTypeForVB(IAMTimelineGroup *iface, LONG type)
Definition: timeline.c:912
static HRESULT WINAPI Timeline_IAMTimeline_GetDuration2(IAMTimeline *iface, double *duration)
Definition: timeline.c:280
static HRESULT WINAPI Timeline_IAMTimeline_SetDefaultTransitionB(IAMTimeline *iface, BSTR guidb)
Definition: timeline.c:360
static HRESULT WINAPI Timeline_IAMTimeline_EffectsEnabled(IAMTimeline *iface, BOOL *enabled)
Definition: timeline.c:257
static HRESULT WINAPI TimelineObj_SetLocked(IAMTimelineObj *iface, BOOL locked)
Definition: timeline.c:692
static HRESULT WINAPI Timeline_IAMTimeline_SetDefaultEffect(IAMTimeline *iface, GUID *guid)
Definition: timeline.c:346
static HRESULT WINAPI Timeline_IAMTimeline_SetInsertMode(IAMTimeline *iface, LONG mode)
Definition: timeline.c:229
static HRESULT WINAPI Timeline_IAMTimeline_GetCountOfType(IAMTimeline *iface, LONG group, LONG *value, LONG *value_with_comps, TIMELINE_MAJOR_TYPE type)
Definition: timeline.c:316
static HRESULT WINAPI Timeline_IAMTimeline_RemGroupFromList(IAMTimeline *iface, IAMTimelineObj *group)
Definition: timeline.c:194
static HRESULT WINAPI Timeline_IAMTimeline_ValidateSourceNames(IAMTimeline *iface, LONG flags, IMediaLocator *override, LONG_PTR notify_event)
Definition: timeline.c:324
HRESULT AMTimeline_create(IUnknown *pUnkOuter, LPVOID *ppv)
Definition: timeline.c:424
static HRESULT WINAPI timelinegrp_SetMediaType(IAMTimelineGroup *iface, AM_MEDIA_TYPE *mediatype)
Definition: timeline.c:863
static HRESULT WINAPI Timeline_IAMTimeline_SetInterestRange(IAMTimeline *iface, REFERENCE_TIME start, REFERENCE_TIME stop)
Definition: timeline.c:264
static HRESULT WINAPI TimelineObj_SetStartStop(IAMTimelineObj *iface, REFERENCE_TIME start, REFERENCE_TIME stop)
Definition: timeline.c:527
static HRESULT WINAPI TimelineObj_SetUserData(IAMTimelineObj *iface, BYTE *data, LONG size)
Definition: timeline.c:664
static HRESULT WINAPI Timeline_IAMTimeline_TransitionsEnabled(IAMTimeline *iface, BOOL *enabled)
Definition: timeline.c:243
static ULONG WINAPI Timeline_IAMTimeline_AddRef(IAMTimeline *iface)
Definition: timeline.c:136
static HRESULT WINAPI timelinegrp_GetMediaType(IAMTimelineGroup *iface, AM_MEDIA_TYPE *mediatype)
Definition: timeline.c:856
static HRESULT WINAPI Timeline_IAMTimeline_GetGroupCount(IAMTimeline *iface, LONG *count)
Definition: timeline.c:208
static HRESULT WINAPI TimelineObj_GetGenID(IAMTimelineObj *iface, LONG *id)
Definition: timeline.c:636
static HRESULT WINAPI timelinegrp_ClearRecompressFormatDirty(IAMTimelineGroup *iface)
Definition: timeline.c:961
static HRESULT WINAPI TimelineObj_SetTimelineType(IAMTimelineObj *iface, TIMELINE_MAJOR_TYPE type)
Definition: timeline.c:613
static const IAMTimelineGroupVtbl IAMTimelineGroup_VTable
Definition: timeline.c:70
static HRESULT WINAPI TimelineObj_GetTimelineType(IAMTimelineObj *iface, TIMELINE_MAJOR_TYPE *type)
Definition: timeline.c:604
static HRESULT WINAPI TimelineObj_GetMuted(IAMTimelineObj *iface, BOOL *muted)
Definition: timeline.c:671
static HRESULT WINAPI timelinegrp_SetTimeline(IAMTimelineGroup *iface, IAMTimeline *timeline)
Definition: timeline.c:835
static HRESULT WINAPI Timeline_IAMTimeline_GetDefaultTransition(IAMTimeline *iface, GUID *guid)
Definition: timeline.c:339
static HRESULT WINAPI timelinegrp_QueryInterface(IAMTimelineGroup *iface, REFIID riid, void **object)
Definition: timeline.c:817
static HRESULT WINAPI TimelineObj_GetDirtyRange(IAMTimelineObj *iface, REFERENCE_TIME *start, REFERENCE_TIME *stop)
Definition: timeline.c:699
static ULONG WINAPI TimelineObj_AddRef(IAMTimelineObj *iface)
Definition: timeline.c:476
static HRESULT WINAPI Timeline_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
Definition: timeline.c:74
static HRESULT WINAPI TimelineObj_GetSubObject(IAMTimelineObj *iface, IUnknown **obj)
Definition: timeline.c:555
static HRESULT WINAPI Timeline_IAMTimeline_CreateEmptyNode(IAMTimeline *iface, IAMTimelineObj **obj, TIMELINE_MAJOR_TYPE type)
Definition: timeline.c:148
static HRESULT WINAPI Timeline_IAMTimeline_GetDefaultFPS(IAMTimeline *iface, double *fps)
Definition: timeline.c:294
static HRESULT WINAPI timelinegrp_GetOutputBuffering(IAMTimelineGroup *iface, int *buffer)
Definition: timeline.c:919
static HRESULT WINAPI timelinegrp_SetPreviewMode(IAMTimelineGroup *iface, BOOL preview)
Definition: timeline.c:898
static TimelineImpl * impl_from_IAMTimeline(IAMTimeline *iface)
Definition: timeline.c:47
static HRESULT WINAPI timelinegrp_GetPriority(IAMTimelineGroup *iface, LONG *priority)
Definition: timeline.c:849
static HRESULT WINAPI Timeline_IAMTimeline_QueryInterface(IAMTimeline *iface, REFIID riid, void **ppv)
Definition: timeline.c:130
static TimelineObjImpl * impl_from_IAMTimelineObj(IAMTimelineObj *iface)
Definition: timeline.c:59
static TimelineObjImpl * impl_from_IAMTimelineGroup(IAMTimelineGroup *iface)
Definition: timeline.c:64
static HRESULT WINAPI TimelineObj_FixTimes(IAMTimelineObj *iface, REFERENCE_TIME *start, REFERENCE_TIME *stop)
Definition: timeline.c:513
static HRESULT WINAPI TimelineObj_GetUserName(IAMTimelineObj *iface, BSTR *name)
Definition: timeline.c:643
static HRESULT WINAPI TimelineObj_GetTimelineNoRef(IAMTimelineObj *iface, IAMTimeline **timeline)
Definition: timeline.c:748
static HRESULT WINAPI TimelineObj_SetStartStop2(IAMTimelineObj *iface, REFTIME start, REFTIME stop)
Definition: timeline.c:534
static HRESULT WINAPI timelinegrp_SetGroupName(IAMTimelineGroup *iface, BSTR name)
Definition: timeline.c:884
static HRESULT WINAPI timelinegrp_SetOutputFPS(IAMTimelineGroup *iface, double fps)
Definition: timeline.c:870
static HRESULT WINAPI timelinegrp_SetOutputBuffering(IAMTimelineGroup *iface, int buffer)
Definition: timeline.c:926
static HRESULT WINAPI TimelineObj_SetDirtyRange2(IAMTimelineObj *iface, REFTIME start, REFTIME stop)
Definition: timeline.c:720
static ULONG WINAPI Timeline_IAMTimeline_Release(IAMTimeline *iface)
Definition: timeline.c:142
static HRESULT WINAPI Timeline_IAMTimeline_SetDefaultEffectB(IAMTimeline *iface, BSTR guidb)
Definition: timeline.c:374
static HRESULT WINAPI Timeline_IAMTimeline_GetDirtyRange(IAMTimeline *iface, REFERENCE_TIME *start, REFERENCE_TIME *stop)
Definition: timeline.c:308
static HRESULT WINAPI Timeline_IAMTimeline_GetDuration(IAMTimeline *iface, REFERENCE_TIME *duration)
Definition: timeline.c:273
static const IAMTimelineVtbl IAMTimeline_VTable
Definition: timeline.c:388
static HRESULT WINAPI TimelineObj_GetEmbedDepth(IAMTimelineObj *iface, LONG *depth)
Definition: timeline.c:765
static HRESULT WINAPI timelinegrp_GetGroupName(IAMTimelineGroup *iface, BSTR *name)
Definition: timeline.c:891
static HRESULT WINAPI Timeline_IAMTimeline_SetDefaultFPS(IAMTimeline *iface, double fps)
Definition: timeline.c:287
static HRESULT WINAPI timelinegrp_IsRecompressFormatDirty(IAMTimelineGroup *iface, BOOL *dirty)
Definition: timeline.c:954
static HRESULT WINAPI TimelineObj_FixTimes2(IAMTimelineObj *iface, REFTIME *start, REFTIME *stop)
Definition: timeline.c:520
static ULONG WINAPI Timeline_AddRef(IUnknown *iface)
Definition: timeline.c:98
static HRESULT WINAPI Timeline_IAMTimeline_SetDefaultTransition(IAMTimeline *iface, GUID *guid)
Definition: timeline.c:332
static HRESULT WINAPI Timeline_IAMTimeline_GetDefaultEffectB(IAMTimeline *iface, BSTR *guidb)
Definition: timeline.c:381
static HRESULT WINAPI Timeline_IAMTimeline_EnableEffects(IAMTimeline *iface, BOOL enabled)
Definition: timeline.c:250
static HRESULT WINAPI timelinegrp_GetSmartRecompressFormat(IAMTimelineGroup *iface, LONG **format)
Definition: timeline.c:940
static HRESULT WINAPI TimelineObj_SetDirtyRange(IAMTimelineObj *iface, REFERENCE_TIME start, REFERENCE_TIME stop)
Definition: timeline.c:713
static HRESULT WINAPI Timeline_IAMTimeline_GetGroup(IAMTimeline *iface, IAMTimelineObj **group, LONG index)
Definition: timeline.c:201
static HRESULT WINAPI timelinegrp_SetRecompFormatFromSource(IAMTimelineGroup *iface, IAMTimelineSrc *source)
Definition: timeline.c:968
static ULONG WINAPI timelinegrp_Release(IAMTimelineGroup *iface)
Definition: timeline.c:829
static ULONG WINAPI TimelineObj_Release(IAMTimelineObj *iface)
Definition: timeline.c:486
static HRESULT WINAPI TimelineObj_SetPropertySetter(IAMTimelineObj *iface, IPropertySetter *setter)
Definition: timeline.c:548
static HRESULT WINAPI Timeline_IAMTimeline_ClearAllGroups(IAMTimeline *iface)
Definition: timeline.c:215
static HRESULT WINAPI TimelineObj_SetSubObjectGUID(IAMTimelineObj *iface, GUID guid)
Definition: timeline.c:569
static HRESULT WINAPI TimelineObj_QueryInterface(IAMTimelineObj *iface, REFIID riid, void **ppv)
Definition: timeline.c:452
static HRESULT WINAPI TimelineObj_GetUserID(IAMTimelineObj *iface, LONG *id)
Definition: timeline.c:622
static HRESULT WINAPI timelinegrp_SetSmartRecompressFormat(IAMTimelineGroup *iface, LONG *format)
Definition: timeline.c:933
static HRESULT WINAPI TimelineObj_GetGroupIBelongTo(IAMTimelineObj *iface, IAMTimelineGroup **group)
Definition: timeline.c:758
static HRESULT WINAPI TimelineObj_GetLocked(IAMTimelineObj *iface, BOOL *locked)
Definition: timeline.c:685
static HRESULT WINAPI timelinegrp_GetPreviewMode(IAMTimelineGroup *iface, BOOL *preview)
Definition: timeline.c:905
static HRESULT WINAPI TimelineObj_RemoveAll(IAMTimelineObj *iface)
Definition: timeline.c:741
static ULONG WINAPI Timeline_Release(IUnknown *iface)
Definition: timeline.c:108
static HRESULT WINAPI Timeline_IAMTimeline_EnableTransitions(IAMTimeline *iface, BOOL enabled)
Definition: timeline.c:236
static HRESULT WINAPI TimelineObj_GetSubObjectLoaded(IAMTimelineObj *iface, BOOL *loaded)
Definition: timeline.c:597
static HRESULT WINAPI Timeline_IAMTimeline_GetDefaultEffect(IAMTimeline *iface, GUID *guid)
Definition: timeline.c:353
static HRESULT WINAPI TimelineObj_SetMuted(IAMTimelineObj *iface, BOOL muted)
Definition: timeline.c:678
static HRESULT WINAPI timelinegrp_IsSmartRecompressFormatSet(IAMTimelineGroup *iface, BOOL *set)
Definition: timeline.c:947
static HRESULT WINAPI Timeline_IAMTimeline_IsDirty(IAMTimeline *iface, BOOL *dirty)
Definition: timeline.c:301
static HRESULT WINAPI Timeline_IAMTimeline_GetInsertMode(IAMTimeline *iface, LONG *mode)
Definition: timeline.c:222
static const IAMTimelineObjVtbl IAMTimelineObj_VTable
Definition: timeline.c:69
static HRESULT WINAPI Timeline_IAMTimeline_AddGroup(IAMTimeline *iface, IAMTimelineObj *group)
Definition: timeline.c:187
static HRESULT WINAPI TimelineObj_Remove(IAMTimelineObj *iface)
Definition: timeline.c:734
static ULONG WINAPI timelinegrp_AddRef(IAMTimelineGroup *iface)
Definition: timeline.c:823
static HRESULT WINAPI TimelineObj_SetSubObjectGUIDB(IAMTimelineObj *iface, BSTR guidb)
Definition: timeline.c:576
static HRESULT WINAPI TimelineObj_GetStartStop2(IAMTimelineObj *iface, REFTIME *start, REFTIME *stop)
Definition: timeline.c:506
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:49
OLECHAR * BSTR
Definition: compat.h:2293
LONGLONG REFERENCE_TIME
Definition: dmusicks.h:9
r dirty
Definition: btrfs.c:3004
unsigned int BOOL
Definition: ntddk_ex.h:94
GLuint start
Definition: gl.h:1545
GLint GLint GLsizei GLsizei GLsizei depth
Definition: gl.h:1546
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLsizeiptr size
Definition: glext.h:5919
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glext.h:7750
GLuint buffer
Definition: glext.h:5915
GLuint index
Definition: glext.h:6031
GLenum mode
Definition: glext.h:6217
GLbitfield flags
Definition: glext.h:7161
GLboolean GLuint group
Definition: glext.h:11120
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:426
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define S_OK
Definition: intsafe.h:52
#define debugstr_guid
Definition: kernel32.h:35
#define debugstr_w
Definition: kernel32.h:32
#define wine_dbgstr_w
Definition: kernel32.h:34
const GUID * guid
BOOL loaded
Definition: xmlview.c:54
static int priority
Definition: timer.c:163
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
long LONG
Definition: pedump.c:60
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
#define REFIID
Definition: guiddef.h:118
TIMELINE_MAJOR_TYPE
Definition: qedit.idl:303
@ TIMELINE_MAJOR_TYPE_EFFECT
Definition: qedit.idl:308
@ TIMELINE_MAJOR_TYPE_TRANSITION
Definition: qedit.idl:307
@ TIMELINE_MAJOR_TYPE_COMPOSITE
Definition: qedit.idl:304
@ TIMELINE_MAJOR_TYPE_SOURCE
Definition: qedit.idl:306
@ TIMELINE_MAJOR_TYPE_GROUP
Definition: qedit.idl:309
@ TIMELINE_MAJOR_TYPE_TRACK
Definition: qedit.idl:305
static __inline const char * wine_dbgstr_guid(const GUID *id)
Definition: debug.h:197
#define TRACE(s)
Definition: solgame.cpp:4
IUnknown * outer_unk
Definition: timeline.c:38
IAMTimeline IAMTimeline_iface
Definition: timeline.c:37
IUnknown IUnknown_inner
Definition: timeline.c:36
LONG ref
Definition: timeline.c:39
IAMTimelineGroup IAMTimelineGroup_iface
Definition: timeline.c:54
IAMTimelineObj IAMTimelineObj_iface
Definition: timeline.c:53
TIMELINE_MAJOR_TYPE timeline_type
Definition: timeline.c:56
Definition: format.c:58
Definition: name.c:39
Definition: send.c:48
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
uint32_t ULONG
Definition: typedefs.h:59
Definition: pdh_main.c:94
#define ZeroMemory
Definition: winbase.h:1712
#define WINAPI
Definition: msvc.h:6
#define E_NOINTERFACE
Definition: winerror.h:2364
#define E_POINTER
Definition: winerror.h:2365
unsigned char BYTE
Definition: xxhash.c:193