ReactOS  0.4.14-dev-552-g2fad488
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 
35 typedef struct {
40 } TimelineImpl;
41 
43 {
44  return CONTAINING_RECORD(iface, TimelineImpl, IUnknown_inner);
45 }
46 
48 {
49  return CONTAINING_RECORD(iface, TimelineImpl, IAMTimeline_iface);
50 }
51 
52 typedef struct {
58 
60 {
61  return CONTAINING_RECORD(iface, TimelineObjImpl, IAMTimelineObj_iface);
62 }
63 
65 {
66  return CONTAINING_RECORD(iface, TimelineObjImpl, IAMTimelineGroup_iface);
67 }
68 
69 static const IAMTimelineObjVtbl IAMTimelineObj_VTable;
70 static 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 
121 static 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;
179  obj_impl->IAMTimelineObj_iface.lpVtbl = &IAMTimelineObj_VTable;
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),
269  wine_dbgstr_longlong(stop));
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 
388 static const IAMTimelineVtbl IAMTimeline_VTable =
389 {
422 };
423 
425 {
426  TimelineImpl* obj = NULL;
427 
428  TRACE("(%p,%p)\n", pUnkOuter, ppv);
429 
430  obj = CoTaskMemAlloc(sizeof(TimelineImpl));
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 
772 static 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 
975 static const IAMTimelineGroupVtbl IAMTimelineGroup_VTable =
976 {
1000 };
static ULONG WINAPI timelinegrp_Release(IAMTimelineGroup *iface)
Definition: timeline.c:829
static ULONG WINAPI Timeline_IAMTimeline_Release(IAMTimeline *iface)
Definition: timeline.c:142
static HRESULT WINAPI TimelineObj_RemoveAll(IAMTimelineObj *iface)
Definition: timeline.c:741
static HRESULT WINAPI TimelineObj_GetLocked(IAMTimelineObj *iface, BOOL *locked)
Definition: timeline.c:685
static HRESULT WINAPI Timeline_IAMTimeline_TransitionsEnabled(IAMTimeline *iface, BOOL *enabled)
Definition: timeline.c:243
static HRESULT WINAPI TimelineObj_FixTimes2(IAMTimelineObj *iface, REFTIME *start, REFTIME *stop)
Definition: timeline.c:520
static HRESULT WINAPI Timeline_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
Definition: timeline.c:74
static HRESULT WINAPI Timeline_IAMTimeline_GetGroupCount(IAMTimeline *iface, LONG *count)
Definition: timeline.c:208
static HRESULT WINAPI timelinegrp_ClearRecompressFormatDirty(IAMTimelineGroup *iface)
Definition: timeline.c:961
#define REFIID
Definition: guiddef.h:118
static HRESULT WINAPI timelinegrp_GetOutputFPS(IAMTimelineGroup *iface, double *fps)
Definition: timeline.c:877
#define E_NOINTERFACE
Definition: winerror.h:2364
static HRESULT WINAPI Timeline_IAMTimeline_GetDefaultEffect(IAMTimeline *iface, GUID *guid)
Definition: timeline.c:353
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:420
TIMELINE_MAJOR_TYPE
Definition: qedit.idl:302
static HRESULT WINAPI TimelineObj_SetStartStop2(IAMTimelineObj *iface, REFTIME start, REFTIME stop)
Definition: timeline.c:534
static HRESULT WINAPI TimelineObj_GetTimelineNoRef(IAMTimelineObj *iface, IAMTimeline **timeline)
Definition: timeline.c:748
static HRESULT WINAPI TimelineObj_GetGroupIBelongTo(IAMTimelineObj *iface, IAMTimelineGroup **group)
Definition: timeline.c:758
static HRESULT WINAPI Timeline_IAMTimeline_QueryInterface(IAMTimeline *iface, REFIID riid, void **ppv)
Definition: timeline.c:130
static HRESULT WINAPI TimelineObj_SetSubObject(IAMTimelineObj *iface, IUnknown *obj)
Definition: timeline.c:562
static HRESULT WINAPI timelinegrp_SetMediaTypeForVB(IAMTimelineGroup *iface, LONG type)
Definition: timeline.c:912
static HRESULT WINAPI TimelineObj_SetLocked(IAMTimelineObj *iface, BOOL locked)
Definition: timeline.c:692
TIMELINE_MAJOR_TYPE timeline_type
Definition: timeline.c:56
static HRESULT WINAPI TimelineObj_SetDirtyRange(IAMTimelineObj *iface, REFERENCE_TIME start, REFERENCE_TIME stop)
Definition: timeline.c:713
REFIID riid
Definition: precomp.h:44
char * wine_dbgstr_w(const wchar_t *wstr)
Definition: atltest.h:87
GLuint GLuint GLsizei count
Definition: gl.h:1545
IUnknown * outer_unk
Definition: timeline.c:38
static HRESULT WINAPI Timeline_IAMTimeline_GetDuration(IAMTimeline *iface, REFERENCE_TIME *duration)
Definition: timeline.c:273
static TimelineObjImpl * impl_from_IAMTimelineObj(IAMTimelineObj *iface)
Definition: timeline.c:59
static HRESULT WINAPI timelinegrp_QueryInterface(IAMTimelineGroup *iface, REFIID riid, void **object)
Definition: timeline.c:817
static HRESULT WINAPI timelinegrp_SetPreviewMode(IAMTimelineGroup *iface, BOOL preview)
Definition: timeline.c:898
#define WARN(fmt,...)
Definition: debug.h:111
static HRESULT WINAPI Timeline_IAMTimeline_SetInsertMode(IAMTimeline *iface, LONG mode)
Definition: timeline.c:229
static HRESULT WINAPI Timeline_IAMTimeline_AddGroup(IAMTimeline *iface, IAMTimelineObj *group)
Definition: timeline.c:187
REFIID LPVOID * ppv
Definition: atlbase.h:39
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
const char * wine_dbgstr_guid(const GUID *guid)
#define ZeroMemory
Definition: winbase.h:1642
static HRESULT WINAPI Timeline_IAMTimeline_IsDirty(IAMTimeline *iface, BOOL *dirty)
Definition: timeline.c:301
GLuint buffer
Definition: glext.h:5915
static HRESULT WINAPI Timeline_IAMTimeline_ValidateSourceNames(IAMTimeline *iface, LONG flags, IMediaLocator *override, LONG_PTR notify_event)
Definition: timeline.c:324
OLECHAR * BSTR
Definition: compat.h:1942
static HRESULT WINAPI timelinegrp_SetSmartRecompressFormat(IAMTimelineGroup *iface, LONG *format)
Definition: timeline.c:933
static HRESULT WINAPI Timeline_IAMTimeline_SetDefaultTransition(IAMTimeline *iface, GUID *guid)
Definition: timeline.c:332
static HRESULT WINAPI Timeline_IAMTimeline_EnableEffects(IAMTimeline *iface, BOOL enabled)
Definition: timeline.c:250
static HRESULT WINAPI Timeline_IAMTimeline_GetDefaultTransition(IAMTimeline *iface, GUID *guid)
Definition: timeline.c:339
static const IUnknownVtbl timeline_vtbl
Definition: timeline.c:121
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glext.h:7750
Definition: send.c:47
static HRESULT WINAPI timelinegrp_SetTimeline(IAMTimelineGroup *iface, IAMTimeline *timeline)
Definition: timeline.c:835
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
IAMTimelineGroup IAMTimelineGroup_iface
Definition: timeline.c:54
LONG ref
Definition: timeline.c:39
static HRESULT WINAPI Timeline_IAMTimeline_SetDefaultTransitionB(IAMTimeline *iface, BSTR guidb)
Definition: timeline.c:360
static HRESULT WINAPI timelinegrp_SetOutputFPS(IAMTimelineGroup *iface, double fps)
Definition: timeline.c:870
IUnknown IUnknown_inner
Definition: timeline.c:36
static TimelineImpl * impl_from_IAMTimeline(IAMTimeline *iface)
Definition: timeline.c:47
const GUID * guid
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static HRESULT WINAPI Timeline_IAMTimeline_SetDefaultFPS(IAMTimeline *iface, double fps)
Definition: timeline.c:287
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
static HRESULT WINAPI TimelineObj_SetUserData(IAMTimelineObj *iface, BYTE *data, LONG size)
Definition: timeline.c:664
#define debugstr_w
Definition: kernel32.h:32
static HRESULT WINAPI timelinegrp_IsRecompressFormatDirty(IAMTimelineGroup *iface, BOOL *dirty)
Definition: timeline.c:954
GLenum GLint ref
Definition: glext.h:6028
#define FIXME(fmt,...)
Definition: debug.h:110
static HRESULT WINAPI TimelineObj_ClearDirty(IAMTimelineObj *iface)
Definition: timeline.c:727
static HRESULT WINAPI timelinegrp_GetMediaType(IAMTimelineGroup *iface, AM_MEDIA_TYPE *mediatype)
Definition: timeline.c:856
IAMTimelineObj IAMTimelineObj_iface
Definition: timeline.c:53
static HRESULT WINAPI Timeline_IAMTimeline_GetDefaultFPS(IAMTimeline *iface, double *fps)
Definition: timeline.c:294
static HRESULT WINAPI Timeline_IAMTimeline_GetDefaultEffectB(IAMTimeline *iface, BSTR *guidb)
Definition: timeline.c:381
#define E_INVALIDARG
Definition: ddrawi.h:101
static HRESULT WINAPI TimelineObj_SetSubObjectGUID(IAMTimelineObj *iface, GUID guid)
Definition: timeline.c:569
IAMTimeline IAMTimeline_iface
Definition: timeline.c:37
smooth NULL
Definition: ftsmooth.c:416
static HRESULT WINAPI TimelineObj_GetSubObject(IAMTimelineObj *iface, IUnknown **obj)
Definition: timeline.c:555
static HRESULT WINAPI TimelineObj_FixTimes(IAMTimelineObj *iface, REFERENCE_TIME *start, REFERENCE_TIME *stop)
Definition: timeline.c:513
static HRESULT WINAPI timelinegrp_IsSmartRecompressFormatSet(IAMTimelineGroup *iface, BOOL *set)
Definition: timeline.c:947
static HRESULT WINAPI Timeline_IAMTimeline_SetDefaultEffect(IAMTimeline *iface, GUID *guid)
Definition: timeline.c:346
GLuint index
Definition: glext.h:6031
static ULONG WINAPI Timeline_Release(IUnknown *iface)
Definition: timeline.c:108
static HRESULT WINAPI timelinegrp_SetMediaType(IAMTimelineGroup *iface, AM_MEDIA_TYPE *mediatype)
Definition: timeline.c:863
static HRESULT WINAPI TimelineObj_SetDirtyRange2(IAMTimelineObj *iface, REFTIME start, REFTIME stop)
Definition: timeline.c:720
static ULONG WINAPI Timeline_IAMTimeline_AddRef(IAMTimeline *iface)
Definition: timeline.c:136
#define debugstr_guid
Definition: kernel32.h:35
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
static HRESULT WINAPI Timeline_IAMTimeline_CreateEmptyNode(IAMTimeline *iface, IAMTimelineObj **obj, TIMELINE_MAJOR_TYPE type)
Definition: timeline.c:148
static HRESULT WINAPI TimelineObj_GetSubObjectGUID(IAMTimelineObj *iface, GUID *guid)
Definition: timeline.c:583
static HRESULT WINAPI Timeline_IAMTimeline_GetDirtyRange(IAMTimeline *iface, REFERENCE_TIME *start, REFERENCE_TIME *stop)
Definition: timeline.c:308
static HRESULT WINAPI TimelineObj_SetSubObjectGUIDB(IAMTimelineObj *iface, BSTR guidb)
Definition: timeline.c:576
GLboolean GLuint group
Definition: glext.h:11120
static ULONG WINAPI timelinegrp_AddRef(IAMTimelineGroup *iface)
Definition: timeline.c:823
static HRESULT WINAPI TimelineObj_SetUserName(IAMTimelineObj *iface, BSTR name)
Definition: timeline.c:650
static HRESULT WINAPI TimelineObj_SetPropertySetter(IAMTimelineObj *iface, IPropertySetter *setter)
Definition: timeline.c:548
#define TRACE(s)
Definition: solgame.cpp:4
GLsizeiptr size
Definition: glext.h:5919
static const IAMTimelineGroupVtbl IAMTimelineGroup_VTable
Definition: timeline.c:70
LONGLONG REFERENCE_TIME
Definition: dmusicks.h:9
LONG HRESULT
Definition: typedefs.h:77
const GUID IID_IUnknown
WINE_DEFAULT_DEBUG_CHANNEL(qedit)
#define WINAPI
Definition: msvc.h:8
static HRESULT WINAPI Timeline_IAMTimeline_EnableTransitions(IAMTimeline *iface, BOOL enabled)
Definition: timeline.c:236
static HRESULT WINAPI TimelineObj_GetSubObjectGUIDB(IAMTimelineObj *iface, BSTR *guidb)
Definition: timeline.c:590
static HRESULT WINAPI timelinegrp_GetSmartRecompressFormat(IAMTimelineGroup *iface, LONG **format)
Definition: timeline.c:940
static HRESULT WINAPI Timeline_IAMTimeline_SetInterestRange(IAMTimeline *iface, REFERENCE_TIME start, REFERENCE_TIME stop)
Definition: timeline.c:264
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
BOOL loaded
Definition: xmlview.c:54
static HRESULT WINAPI TimelineObj_GetStartStop(IAMTimelineObj *iface, REFERENCE_TIME *start, REFERENCE_TIME *stop)
Definition: timeline.c:499
GLbitfield flags
Definition: glext.h:7161
GLint GLint GLsizei GLsizei GLsizei depth
Definition: gl.h:1546
static HRESULT WINAPI timelinegrp_SetGroupName(IAMTimelineGroup *iface, BSTR name)
Definition: timeline.c:884
#define InterlockedDecrement
Definition: armddk.h:52
static HRESULT WINAPI Timeline_IAMTimeline_ClearAllGroups(IAMTimeline *iface)
Definition: timeline.c:215
static HRESULT WINAPI timelinegrp_SetOutputBuffering(IAMTimelineGroup *iface, int buffer)
Definition: timeline.c:926
unsigned char BYTE
Definition: mem.h:68
static HRESULT WINAPI TimelineObj_SetMuted(IAMTimelineObj *iface, BOOL muted)
Definition: timeline.c:678
static HRESULT WINAPI TimelineObj_Remove(IAMTimelineObj *iface)
Definition: timeline.c:734
GLenum mode
Definition: glext.h:6217
static HRESULT WINAPI Timeline_IAMTimeline_GetDuration2(IAMTimeline *iface, double *duration)
Definition: timeline.c:280
static const IAMTimelineVtbl IAMTimeline_VTable
Definition: timeline.c:388
HRESULT AMTimeline_create(IUnknown *pUnkOuter, LPVOID *ppv)
Definition: timeline.c:424
static HRESULT WINAPI Timeline_IAMTimeline_RemGroupFromList(IAMTimeline *iface, IAMTimelineObj *group)
Definition: timeline.c:194
#define S_OK
Definition: intsafe.h:59
static HRESULT WINAPI TimelineObj_GetUserName(IAMTimelineObj *iface, BSTR *name)
Definition: timeline.c:643
#define InterlockedIncrement
Definition: armddk.h:53
static HRESULT WINAPI TimelineObj_GetUserData(IAMTimelineObj *iface, BYTE *data, LONG *size)
Definition: timeline.c:657
static TimelineImpl * impl_from_IUnknown(IUnknown *iface)
Definition: timeline.c:42
static previewinfo preview
Definition: print.c:56
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 TimelineObj_GetStartStop2(IAMTimelineObj *iface, REFTIME *start, REFTIME *stop)
Definition: timeline.c:506
GLuint start
Definition: gl.h:1545
static HRESULT WINAPI timelinegrp_GetPreviewMode(IAMTimelineGroup *iface, BOOL *preview)
Definition: timeline.c:905
#define E_NOTIMPL
Definition: ddrawi.h:99
static HRESULT WINAPI TimelineObj_GetSubObjectLoaded(IAMTimelineObj *iface, BOOL *loaded)
Definition: timeline.c:597
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
static HRESULT WINAPI Timeline_IAMTimeline_GetInsertMode(IAMTimeline *iface, LONG *mode)
Definition: timeline.c:222
static HRESULT WINAPI TimelineObj_GetTimelineType(IAMTimelineObj *iface, TIMELINE_MAJOR_TYPE *type)
Definition: timeline.c:604
static HRESULT WINAPI TimelineObj_GetEmbedDepth(IAMTimelineObj *iface, LONG *depth)
Definition: timeline.c:765
static HRESULT WINAPI TimelineObj_GetPropertySetter(IAMTimelineObj *iface, IPropertySetter **setter)
Definition: timeline.c:541
static HRESULT WINAPI TimelineObj_SetTimelineType(IAMTimelineObj *iface, TIMELINE_MAJOR_TYPE type)
Definition: timeline.c:613
static HRESULT WINAPI TimelineObj_GetDirtyRange(IAMTimelineObj *iface, REFERENCE_TIME *start, REFERENCE_TIME *stop)
Definition: timeline.c:699
static HRESULT WINAPI Timeline_IAMTimeline_SetDefaultEffectB(IAMTimeline *iface, BSTR guidb)
Definition: timeline.c:374
static HRESULT WINAPI Timeline_IAMTimeline_GetGroup(IAMTimeline *iface, IAMTimelineObj **group, LONG index)
Definition: timeline.c:201
static HRESULT WINAPI Timeline_IAMTimeline_GetDefaultTransitionB(IAMTimeline *iface, BSTR *guidb)
Definition: timeline.c:367
static HRESULT WINAPI timelinegrp_GetGroupName(IAMTimelineGroup *iface, BSTR *name)
Definition: timeline.c:891
static HRESULT WINAPI timelinegrp_GetOutputBuffering(IAMTimelineGroup *iface, int *buffer)
Definition: timeline.c:919
Definition: name.c:38
static HRESULT WINAPI timelinegrp_SetRecompFormatFromSource(IAMTimelineGroup *iface, IAMTimelineSrc *source)
Definition: timeline.c:968
r dirty
Definition: btrfs.c:2863
static HRESULT WINAPI TimelineObj_GetGenID(IAMTimelineObj *iface, LONG *id)
Definition: timeline.c:636
static HRESULT WINAPI TimelineObj_SetUserID(IAMTimelineObj *iface, LONG id)
Definition: timeline.c:629
unsigned int ULONG
Definition: retypes.h:1
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:41
REFTIME_DEFINED typedef DOUBLE REFTIME
Definition: axcore.idl:56
static const IAMTimelineObjVtbl IAMTimelineObj_VTable
Definition: timeline.c:69
static int priority
Definition: timer.c:163
static HRESULT WINAPI timelinegrp_GetTimeline(IAMTimelineGroup *iface, IAMTimeline **timeline)
Definition: timeline.c:842
static HRESULT WINAPI TimelineObj_GetMuted(IAMTimelineObj *iface, BOOL *muted)
Definition: timeline.c:671
static ULONG WINAPI TimelineObj_Release(IAMTimelineObj *iface)
Definition: timeline.c:486
#define E_POINTER
Definition: winerror.h:2365
static ULONG WINAPI Timeline_AddRef(IUnknown *iface)
Definition: timeline.c:98
static HRESULT WINAPI TimelineObj_SetStartStop(IAMTimelineObj *iface, REFERENCE_TIME start, REFERENCE_TIME stop)
Definition: timeline.c:527
Definition: _set.h:46
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:404
static HRESULT WINAPI timelinegrp_GetPriority(IAMTimelineGroup *iface, LONG *priority)
Definition: timeline.c:849
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
static HRESULT WINAPI TimelineObj_GetDirtyRange2(IAMTimelineObj *iface, REFTIME *start, REFTIME *stop)
Definition: timeline.c:706
static ULONG WINAPI TimelineObj_AddRef(IAMTimelineObj *iface)
Definition: timeline.c:476
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_EffectsEnabled(IAMTimeline *iface, BOOL *enabled)
Definition: timeline.c:257
static TimelineObjImpl * impl_from_IAMTimelineGroup(IAMTimelineGroup *iface)
Definition: timeline.c:64