summaryrefslogtreecommitdiff
path: root/Xext/xvmain.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-03-21 12:55:09 -0700
committerKeith Packard <keithp@keithp.com>2012-03-21 13:54:42 -0700
commit9838b7032ea9792bec21af424c53c07078636d21 (patch)
treeb72d0827dac50f0f3b8eab29b3b7639546d735d7 /Xext/xvmain.c
parent75199129c603fc8567185ac31866c9518193cb78 (diff)
Introduce a consistent coding style
This is strictly the application of the script 'x-indent-all.sh' from util/modular. Compared to the patch that Daniel posted in January, I've added a few indent flags: -bap -psl -T PrivatePtr -T pmWait -T _XFUNCPROTOBEGIN -T _XFUNCPROTOEND -T _X_EXPORT The typedefs were needed to make the output of sdksyms.sh match the previous output, otherwise, the code is formatted badly enough that sdksyms.sh generates incorrect output. The generated code was compared with the previous version and found to be essentially identical -- "assert" line numbers and BUILD_TIME were the only differences found. The comparison was done with this script: dir1=$1 dir2=$2 for dir in $dir1 $dir2; do (cd $dir && find . -name '*.o' | while read file; do dir=`dirname $file` base=`basename $file .o` dump=$dir/$base.dump objdump -d $file > $dump done) done find $dir1 -name '*.dump' | while read dump; do otherdump=`echo $dump | sed "s;$dir1;$dir2;"` diff -u $dump $otherdump done Signed-off-by: Keith Packard <keithp@keithp.com> Acked-by: Daniel Stone <daniel@fooishbar.org> Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Diffstat (limited to 'Xext/xvmain.c')
-rw-r--r--Xext/xvmain.c1332
1 files changed, 622 insertions, 710 deletions
diff --git a/Xext/xvmain.c b/Xext/xvmain.c
index d21a56c3e..48061a286 100644
--- a/Xext/xvmain.c
+++ b/Xext/xvmain.c
@@ -106,6 +106,7 @@ SOFTWARE.
#include "xvdisp.h"
static DevPrivateKeyRec XvScreenKeyRec;
+
#define XvScreenKey (&XvScreenKeyRec)
unsigned long XvExtensionGeneration = 0;
unsigned long XvScreenGeneration = 0;
@@ -131,7 +132,7 @@ static Bool CreateResourceTypes(void);
static Bool XvCloseScreen(int, ScreenPtr);
static Bool XvDestroyPixmap(PixmapPtr);
static Bool XvDestroyWindow(WindowPtr);
-static void XvResetProc(ExtensionEntry*);
+static void XvResetProc(ExtensionEntry *);
static int XvdiDestroyGrab(pointer, XID);
static int XvdiDestroyEncoding(pointer, XID);
static int XvdiDestroyVideoNotify(pointer, XID);
@@ -140,9 +141,6 @@ static int XvdiDestroyVideoNotifyList(pointer, XID);
static int XvdiDestroyPort(pointer, XID);
static int XvdiSendVideoNotify(XvPortPtr, DrawablePtr, int);
-
-
-
/*
** XvExtensionInit
**
@@ -152,179 +150,168 @@ static int XvdiSendVideoNotify(XvPortPtr, DrawablePtr, int);
void
XvExtensionInit(void)
{
- ExtensionEntry *extEntry;
-
- if (!dixRegisterPrivateKey(&XvScreenKeyRec, PRIVATE_SCREEN, 0))
- return;
-
- /* LOOK TO SEE IF ANY SCREENS WERE INITIALIZED; IF NOT THEN
- INIT GLOBAL VARIABLES SO THE EXTENSION CAN FUNCTION */
- if (XvScreenGeneration != serverGeneration)
- {
- if (!CreateResourceTypes())
- {
- ErrorF("XvExtensionInit: Unable to allocate resource types\n");
- return;
- }
+ ExtensionEntry *extEntry;
+
+ if (!dixRegisterPrivateKey(&XvScreenKeyRec, PRIVATE_SCREEN, 0))
+ return;
+
+ /* LOOK TO SEE IF ANY SCREENS WERE INITIALIZED; IF NOT THEN
+ INIT GLOBAL VARIABLES SO THE EXTENSION CAN FUNCTION */
+ if (XvScreenGeneration != serverGeneration) {
+ if (!CreateResourceTypes()) {
+ ErrorF("XvExtensionInit: Unable to allocate resource types\n");
+ return;
+ }
#ifdef PANORAMIX
XineramaRegisterConnectionBlockCallback(XineramifyXv);
#endif
- XvScreenGeneration = serverGeneration;
+ XvScreenGeneration = serverGeneration;
}
- if (XvExtensionGeneration != serverGeneration)
- {
- XvExtensionGeneration = serverGeneration;
+ if (XvExtensionGeneration != serverGeneration) {
+ XvExtensionGeneration = serverGeneration;
- extEntry = AddExtension(XvName, XvNumEvents, XvNumErrors,
- ProcXvDispatch, SProcXvDispatch,
- XvResetProc, StandardMinorOpcode);
- if (!extEntry)
- {
- FatalError("XvExtensionInit: AddExtensions failed\n");
- }
+ extEntry = AddExtension(XvName, XvNumEvents, XvNumErrors,
+ ProcXvDispatch, SProcXvDispatch,
+ XvResetProc, StandardMinorOpcode);
+ if (!extEntry) {
+ FatalError("XvExtensionInit: AddExtensions failed\n");
+ }
- XvReqCode = extEntry->base;
- XvEventBase = extEntry->eventBase;
- XvErrorBase = extEntry->errorBase;
+ XvReqCode = extEntry->base;
+ XvEventBase = extEntry->eventBase;
+ XvErrorBase = extEntry->errorBase;
- EventSwapVector[XvEventBase+XvVideoNotify] =
- (EventSwapPtr)WriteSwappedVideoNotifyEvent;
- EventSwapVector[XvEventBase+XvPortNotify] =
- (EventSwapPtr)WriteSwappedPortNotifyEvent;
+ EventSwapVector[XvEventBase + XvVideoNotify] =
+ (EventSwapPtr) WriteSwappedVideoNotifyEvent;
+ EventSwapVector[XvEventBase + XvPortNotify] =
+ (EventSwapPtr) WriteSwappedPortNotifyEvent;
- SetResourceTypeErrorValue(XvRTPort, _XvBadPort);
- (void)MakeAtom(XvName, strlen(XvName), xTrue);
+ SetResourceTypeErrorValue(XvRTPort, _XvBadPort);
+ (void) MakeAtom(XvName, strlen(XvName), xTrue);
}
}
static Bool
CreateResourceTypes(void)
-
{
-
- if (XvResourceGeneration == serverGeneration) return TRUE;
- XvResourceGeneration = serverGeneration;
+ if (XvResourceGeneration == serverGeneration)
+ return TRUE;
+
+ XvResourceGeneration = serverGeneration;
- if (!(XvRTPort = CreateNewResourceType(XvdiDestroyPort, "XvRTPort")))
- {
- ErrorF("CreateResourceTypes: failed to allocate port resource.\n");
- return FALSE;
+ if (!(XvRTPort = CreateNewResourceType(XvdiDestroyPort, "XvRTPort"))) {
+ ErrorF("CreateResourceTypes: failed to allocate port resource.\n");
+ return FALSE;
}
- if (!(XvRTGrab = CreateNewResourceType(XvdiDestroyGrab, "XvRTGrab")))
- {
- ErrorF("CreateResourceTypes: failed to allocate grab resource.\n");
- return FALSE;
+ if (!(XvRTGrab = CreateNewResourceType(XvdiDestroyGrab, "XvRTGrab"))) {
+ ErrorF("CreateResourceTypes: failed to allocate grab resource.\n");
+ return FALSE;
}
- if (!(XvRTEncoding = CreateNewResourceType(XvdiDestroyEncoding,
- "XvRTEncoding")))
- {
- ErrorF("CreateResourceTypes: failed to allocate encoding resource.\n");
- return FALSE;
+ if (!(XvRTEncoding = CreateNewResourceType(XvdiDestroyEncoding,
+ "XvRTEncoding"))) {
+ ErrorF("CreateResourceTypes: failed to allocate encoding resource.\n");
+ return FALSE;
}
- if (!(XvRTVideoNotify = CreateNewResourceType(XvdiDestroyVideoNotify,
- "XvRTVideoNotify")))
- {
- ErrorF("CreateResourceTypes: failed to allocate video notify resource.\n");
- return FALSE;
+ if (!(XvRTVideoNotify = CreateNewResourceType(XvdiDestroyVideoNotify,
+ "XvRTVideoNotify"))) {
+ ErrorF
+ ("CreateResourceTypes: failed to allocate video notify resource.\n");
+ return FALSE;
}
- if (!(XvRTVideoNotifyList = CreateNewResourceType(XvdiDestroyVideoNotifyList,
- "XvRTVideoNotifyList")))
- {
- ErrorF("CreateResourceTypes: failed to allocate video notify list resource.\n");
- return FALSE;
+ if (!
+ (XvRTVideoNotifyList =
+ CreateNewResourceType(XvdiDestroyVideoNotifyList,
+ "XvRTVideoNotifyList"))) {
+ ErrorF
+ ("CreateResourceTypes: failed to allocate video notify list resource.\n");
+ return FALSE;
}
- if (!(XvRTPortNotify = CreateNewResourceType(XvdiDestroyPortNotify,
- "XvRTPortNotify")))
- {
- ErrorF("CreateResourceTypes: failed to allocate port notify resource.\n");
- return FALSE;
+ if (!(XvRTPortNotify = CreateNewResourceType(XvdiDestroyPortNotify,
+ "XvRTPortNotify"))) {
+ ErrorF
+ ("CreateResourceTypes: failed to allocate port notify resource.\n");
+ return FALSE;
}
- return TRUE;
+ return TRUE;
}
int
XvScreenInit(ScreenPtr pScreen)
{
- XvScreenPtr pxvs;
-
- if (XvScreenGeneration != serverGeneration)
- {
- if (!CreateResourceTypes())
- {
- ErrorF("XvScreenInit: Unable to allocate resource types\n");
- return BadAlloc;
- }
+ XvScreenPtr pxvs;
+
+ if (XvScreenGeneration != serverGeneration) {
+ if (!CreateResourceTypes()) {
+ ErrorF("XvScreenInit: Unable to allocate resource types\n");
+ return BadAlloc;
+ }
#ifdef PANORAMIX
XineramaRegisterConnectionBlockCallback(XineramifyXv);
#endif
- XvScreenGeneration = serverGeneration;
+ XvScreenGeneration = serverGeneration;
}
- if (!dixRegisterPrivateKey(&XvScreenKeyRec, PRIVATE_SCREEN, 0))
- return BadAlloc;
+ if (!dixRegisterPrivateKey(&XvScreenKeyRec, PRIVATE_SCREEN, 0))
+ return BadAlloc;
- if (dixLookupPrivate(&pScreen->devPrivates, XvScreenKey))
- {
- ErrorF("XvScreenInit: screen devPrivates ptr non-NULL before init\n");
+ if (dixLookupPrivate(&pScreen->devPrivates, XvScreenKey)) {
+ ErrorF("XvScreenInit: screen devPrivates ptr non-NULL before init\n");
}
- /* ALLOCATE SCREEN PRIVATE RECORD */
-
- pxvs = malloc(sizeof (XvScreenRec));
- if (!pxvs)
- {
- ErrorF("XvScreenInit: Unable to allocate screen private structure\n");
- return BadAlloc;
+ /* ALLOCATE SCREEN PRIVATE RECORD */
+
+ pxvs = malloc(sizeof(XvScreenRec));
+ if (!pxvs) {
+ ErrorF("XvScreenInit: Unable to allocate screen private structure\n");
+ return BadAlloc;
}
- dixSetPrivate(&pScreen->devPrivates, XvScreenKey, pxvs);
-
- pxvs->DestroyPixmap = pScreen->DestroyPixmap;
- pxvs->DestroyWindow = pScreen->DestroyWindow;
- pxvs->CloseScreen = pScreen->CloseScreen;
-
- pScreen->DestroyPixmap = XvDestroyPixmap;
- pScreen->DestroyWindow = XvDestroyWindow;
- pScreen->CloseScreen = XvCloseScreen;
-
- return Success;
+ dixSetPrivate(&pScreen->devPrivates, XvScreenKey, pxvs);
+
+ pxvs->DestroyPixmap = pScreen->DestroyPixmap;
+ pxvs->DestroyWindow = pScreen->DestroyWindow;
+ pxvs->CloseScreen = pScreen->CloseScreen;
+
+ pScreen->DestroyPixmap = XvDestroyPixmap;
+ pScreen->DestroyWindow = XvDestroyWindow;
+ pScreen->CloseScreen = XvCloseScreen;
+
+ return Success;
}
static Bool
-XvCloseScreen(
- int ii,
- ScreenPtr pScreen
-){
+XvCloseScreen(int ii, ScreenPtr pScreen)
+{
- XvScreenPtr pxvs;
+ XvScreenPtr pxvs;
- pxvs = (XvScreenPtr)dixLookupPrivate(&pScreen->devPrivates, XvScreenKey);
+ pxvs = (XvScreenPtr) dixLookupPrivate(&pScreen->devPrivates, XvScreenKey);
- pScreen->DestroyPixmap = pxvs->DestroyPixmap;
- pScreen->DestroyWindow = pxvs->DestroyWindow;
- pScreen->CloseScreen = pxvs->CloseScreen;
+ pScreen->DestroyPixmap = pxvs->DestroyPixmap;
+ pScreen->DestroyWindow = pxvs->DestroyWindow;
+ pScreen->CloseScreen = pxvs->CloseScreen;
- (* pxvs->ddCloseScreen)(ii, pScreen);
+ (*pxvs->ddCloseScreen) (ii, pScreen);
- free(pxvs);
+ free(pxvs);
- dixSetPrivate(&pScreen->devPrivates, XvScreenKey, NULL);
+ dixSetPrivate(&pScreen->devPrivates, XvScreenKey, NULL);
- return (*pScreen->CloseScreen)(ii, pScreen);
+ return (*pScreen->CloseScreen) (ii, pScreen);
}
static void
-XvResetProc(ExtensionEntry* extEntry)
+XvResetProc(ExtensionEntry * extEntry)
{
XvResetProcVector();
}
@@ -338,109 +325,102 @@ XvGetScreenKey(void)
unsigned long
XvGetRTPort(void)
{
- return XvRTPort;
+ return XvRTPort;
}
static Bool
XvDestroyPixmap(PixmapPtr pPix)
{
- Bool status;
- ScreenPtr pScreen;
- XvScreenPtr pxvs;
- XvAdaptorPtr pa;
- int na;
- XvPortPtr pp;
- int np;
-
- pScreen = pPix->drawable.pScreen;
-
- SCREEN_PROLOGUE(pScreen, DestroyPixmap);
-
- pxvs = (XvScreenPtr)dixLookupPrivate(&pScreen->devPrivates, XvScreenKey);
-
- /* CHECK TO SEE IF THIS PORT IS IN USE */
-
- pa = pxvs->pAdaptors;
- na = pxvs->nAdaptors;
- while (na--)
- {
- np = pa->nPorts;
- pp = pa->pPorts;
-
- while (np--)
- {
- if (pp->pDraw == (DrawablePtr)pPix)
- {
- XvdiSendVideoNotify(pp, pp->pDraw, XvPreempted);
-
- (void)(* pp->pAdaptor->ddStopVideo)(NULL, pp, pp->pDraw);
-
- pp->pDraw = NULL;
- pp->client = NULL;
- pp->time = currentTime;
- }
- pp++;
- }
- pa++;
+ Bool status;
+ ScreenPtr pScreen;
+ XvScreenPtr pxvs;
+ XvAdaptorPtr pa;
+ int na;
+ XvPortPtr pp;
+ int np;
+
+ pScreen = pPix->drawable.pScreen;
+
+ SCREEN_PROLOGUE(pScreen, DestroyPixmap);
+
+ pxvs = (XvScreenPtr) dixLookupPrivate(&pScreen->devPrivates, XvScreenKey);
+
+ /* CHECK TO SEE IF THIS PORT IS IN USE */
+
+ pa = pxvs->pAdaptors;
+ na = pxvs->nAdaptors;
+ while (na--) {
+ np = pa->nPorts;
+ pp = pa->pPorts;
+
+ while (np--) {
+ if (pp->pDraw == (DrawablePtr) pPix) {
+ XvdiSendVideoNotify(pp, pp->pDraw, XvPreempted);
+
+ (void) (*pp->pAdaptor->ddStopVideo) (NULL, pp, pp->pDraw);
+
+ pp->pDraw = NULL;
+ pp->client = NULL;
+ pp->time = currentTime;
+ }
+ pp++;
+ }
+ pa++;
}
-
- status = (* pScreen->DestroyPixmap)(pPix);
- SCREEN_EPILOGUE(pScreen, DestroyPixmap, XvDestroyPixmap);
+ status = (*pScreen->DestroyPixmap) (pPix);
+
+ SCREEN_EPILOGUE(pScreen, DestroyPixmap, XvDestroyPixmap);
- return status;
+ return status;
}
static Bool
XvDestroyWindow(WindowPtr pWin)
{
- Bool status;
- ScreenPtr pScreen;
- XvScreenPtr pxvs;
- XvAdaptorPtr pa;
- int na;
- XvPortPtr pp;
- int np;
-
- pScreen = pWin->drawable.pScreen;
-
- SCREEN_PROLOGUE(pScreen, DestroyWindow);
-
- pxvs = (XvScreenPtr)dixLookupPrivate(&pScreen->devPrivates, XvScreenKey);
-
- /* CHECK TO SEE IF THIS PORT IS IN USE */
-
- pa = pxvs->pAdaptors;
- na = pxvs->nAdaptors;
- while (na--)
- {
- np = pa->nPorts;
- pp = pa->pPorts;
-
- while (np--)
- {
- if (pp->pDraw == (DrawablePtr)pWin)
- {
- XvdiSendVideoNotify(pp, pp->pDraw, XvPreempted);
-
- (void)(* pp->pAdaptor->ddStopVideo)(NULL, pp, pp->pDraw);
-
- pp->pDraw = NULL;
- pp->client = NULL;
- pp->time = currentTime;
- }
- pp++;
- }
- pa++;
+ Bool status;
+ ScreenPtr pScreen;
+ XvScreenPtr pxvs;
+ XvAdaptorPtr pa;
+ int na;
+ XvPortPtr pp;
+ int np;
+
+ pScreen = pWin->drawable.pScreen;
+
+ SCREEN_PROLOGUE(pScreen, DestroyWindow);
+
+ pxvs = (XvScreenPtr) dixLookupPrivate(&pScreen->devPrivates, XvScreenKey);
+
+ /* CHECK TO SEE IF THIS PORT IS IN USE */
+
+ pa = pxvs->pAdaptors;
+ na = pxvs->nAdaptors;
+ while (na--) {
+ np = pa->nPorts;
+ pp = pa->pPorts;
+
+ while (np--) {
+ if (pp->pDraw == (DrawablePtr) pWin) {
+ XvdiSendVideoNotify(pp, pp->pDraw, XvPreempted);
+
+ (void) (*pp->pAdaptor->ddStopVideo) (NULL, pp, pp->pDraw);
+
+ pp->pDraw = NULL;
+ pp->client = NULL;
+ pp->time = currentTime;
+ }
+ pp++;
+ }
+ pa++;
}
-
- status = (* pScreen->DestroyWindow)(pWin);
+ status = (*pScreen->DestroyWindow) (pWin);
- SCREEN_EPILOGUE(pScreen, DestroyWindow, XvDestroyWindow);
+ SCREEN_EPILOGUE(pScreen, DestroyWindow, XvDestroyWindow);
- return status;
+ return status;
}
@@ -452,129 +432,123 @@ XvDestroyWindow(WindowPtr pWin)
int
XvdiVideoStopped(XvPortPtr pPort, int reason)
{
-
- /* IF PORT ISN'T ACTIVE THEN WE'RE DONE */
- if (!pPort->pDraw) return Success;
+ /* IF PORT ISN'T ACTIVE THEN WE'RE DONE */
- XvdiSendVideoNotify(pPort, pPort->pDraw, reason);
+ if (!pPort->pDraw)
+ return Success;
- pPort->pDraw = NULL;
- pPort->client = NULL;
- pPort->time = currentTime;
+ XvdiSendVideoNotify(pPort, pPort->pDraw, reason);
- return Success;
+ pPort->pDraw = NULL;
+ pPort->client = NULL;
+ pPort->time = currentTime;
+
+ return Success;
}
-static int
+static int
XvdiDestroyPort(pointer pPort, XID id)
{
- return (* ((XvPortPtr)pPort)->pAdaptor->ddFreePort)(pPort);
+ return (*((XvPortPtr) pPort)->pAdaptor->ddFreePort) (pPort);
}
static int
XvdiDestroyGrab(pointer pGrab, XID id)
{
- ((XvGrabPtr)pGrab)->client = NULL;
- return Success;
+ ((XvGrabPtr) pGrab)->client = NULL;
+ return Success;
}
static int
XvdiDestroyVideoNotify(pointer pn, XID id)
{
- /* JUST CLEAR OUT THE client POINTER FIELD */
+ /* JUST CLEAR OUT THE client POINTER FIELD */
- ((XvVideoNotifyPtr)pn)->client = NULL;
- return Success;
+ ((XvVideoNotifyPtr) pn)->client = NULL;
+ return Success;
}
static int
XvdiDestroyPortNotify(pointer pn, XID id)
{
- /* JUST CLEAR OUT THE client POINTER FIELD */
+ /* JUST CLEAR OUT THE client POINTER FIELD */
- ((XvPortNotifyPtr)pn)->client = NULL;
- return Success;
+ ((XvPortNotifyPtr) pn)->client = NULL;
+ return Success;
}
static int
XvdiDestroyVideoNotifyList(pointer pn, XID id)
{
- XvVideoNotifyPtr npn,cpn;
+ XvVideoNotifyPtr npn, cpn;
- /* ACTUALLY DESTROY THE NOTITY LIST */
+ /* ACTUALLY DESTROY THE NOTITY LIST */
- cpn = (XvVideoNotifyPtr)pn;
+ cpn = (XvVideoNotifyPtr) pn;
- while (cpn)
- {
- npn = cpn->next;
- if (cpn->client) FreeResource(cpn->id, XvRTVideoNotify);
- free(cpn);
- cpn = npn;
+ while (cpn) {
+ npn = cpn->next;
+ if (cpn->client)
+ FreeResource(cpn->id, XvRTVideoNotify);
+ free(cpn);
+ cpn = npn;
}
- return Success;
+ return Success;
}
static int
XvdiDestroyEncoding(pointer value, XID id)
{
- return Success;
+ return Success;
}
static int
XvdiSendVideoNotify(XvPortPtr pPort, DrawablePtr pDraw, int reason)
{
- xvEvent event;
- XvVideoNotifyPtr pn;
-
- dixLookupResourceByType((pointer *)&pn, pDraw->id, XvRTVideoNotifyList,
- serverClient, DixReadAccess);
-
- while (pn)
- {
- event.u.u.type = XvEventBase + XvVideoNotify;
- event.u.videoNotify.time = currentTime.milliseconds;
- event.u.videoNotify.drawable = pDraw->id;
- event.u.videoNotify.port = pPort->id;
- event.u.videoNotify.reason = reason;
- WriteEventsToClient(pn->client, 1, (xEventPtr)&event);
- pn = pn->next;
+ xvEvent event;
+ XvVideoNotifyPtr pn;
+
+ dixLookupResourceByType((pointer *) &pn, pDraw->id, XvRTVideoNotifyList,
+ serverClient, DixReadAccess);
+
+ while (pn) {
+ event.u.u.type = XvEventBase + XvVideoNotify;
+ event.u.videoNotify.time = currentTime.milliseconds;
+ event.u.videoNotify.drawable = pDraw->id;
+ event.u.videoNotify.port = pPort->id;
+ event.u.videoNotify.reason = reason;
+ WriteEventsToClient(pn->client, 1, (xEventPtr) & event);
+ pn = pn->next;
}
- return Success;
+ return Success;
}
-
int
-XvdiSendPortNotify(
- XvPortPtr pPort,
- Atom attribute,
- INT32 value
-){
- xvEvent event;
- XvPortNotifyPtr pn;
-
- pn = pPort->pNotify;
-
- while (pn)
- {
- event.u.u.type = XvEventBase + XvPortNotify;
- event.u.portNotify.time = currentTime.milliseconds;
- event.u.portNotify.port = pPort->id;
- event.u.portNotify.attribute = attribute;
- event.u.portNotify.value = value;
- WriteEventsToClient(pn->client, 1, (xEventPtr)&event);
- pn = pn->next;
+XvdiSendPortNotify(XvPortPtr pPort, Atom attribute, INT32 value)
+{
+ xvEvent event;
+ XvPortNotifyPtr pn;
+
+ pn = pPort->pNotify;
+
+ while (pn) {
+ event.u.u.type = XvEventBase + XvPortNotify;
+ event.u.portNotify.time = currentTime.milliseconds;
+ event.u.portNotify.port = pPort->id;
+ event.u.portNotify.attribute = attribute;
+ event.u.portNotify.value = value;
+ WriteEventsToClient(pn->client, 1, (xEventPtr) & event);
+ pn = pn->next;
}
- return Success;
+ return Success;
}
-
#define CHECK_SIZE(dw, dh, sw, sh) { \
if(!dw || !dh || !sw || !sh) return Success; \
/* The region code will break these if they are too large */ \
@@ -582,597 +556,535 @@ XvdiSendPortNotify(
return BadValue; \
}
-
int
-XvdiPutVideo(
- ClientPtr client,
- DrawablePtr pDraw,
- XvPortPtr pPort,
- GCPtr pGC,
- INT16 vid_x, INT16 vid_y,
- CARD16 vid_w, CARD16 vid_h,
- INT16 drw_x, INT16 drw_y,
- CARD16 drw_w, CARD16 drw_h
-){
- DrawablePtr pOldDraw;
-
- CHECK_SIZE(drw_w, drw_h, vid_w, vid_h);
-
- /* UPDATE TIME VARIABLES FOR USE IN EVENTS */
-
- UpdateCurrentTime();
-
- /* CHECK FOR GRAB; IF THIS CLIENT DOESN'T HAVE THE PORT GRABBED THEN
- INFORM CLIENT OF ITS FAILURE */
-
- if (pPort->grab.client && (pPort->grab.client != client))
- {
- XvdiSendVideoNotify(pPort, pDraw, XvBusy);
- return Success;
+XvdiPutVideo(ClientPtr client,
+ DrawablePtr pDraw,
+ XvPortPtr pPort,
+ GCPtr pGC,
+ INT16 vid_x, INT16 vid_y,
+ CARD16 vid_w, CARD16 vid_h,
+ INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h)
+{
+ DrawablePtr pOldDraw;
+
+ CHECK_SIZE(drw_w, drw_h, vid_w, vid_h);
+
+ /* UPDATE TIME VARIABLES FOR USE IN EVENTS */
+
+ UpdateCurrentTime();
+
+ /* CHECK FOR GRAB; IF THIS CLIENT DOESN'T HAVE THE PORT GRABBED THEN
+ INFORM CLIENT OF ITS FAILURE */
+
+ if (pPort->grab.client && (pPort->grab.client != client)) {
+ XvdiSendVideoNotify(pPort, pDraw, XvBusy);
+ return Success;
}
- /* CHECK TO SEE IF PORT IS IN USE; IF SO THEN WE MUST DELIVER INTERRUPTED
- EVENTS TO ANY CLIENTS WHO WANT THEM */
+ /* CHECK TO SEE IF PORT IS IN USE; IF SO THEN WE MUST DELIVER INTERRUPTED
+ EVENTS TO ANY CLIENTS WHO WANT THEM */
- pOldDraw = pPort->pDraw;
- if ((pOldDraw) && (pOldDraw != pDraw))
- {
- XvdiSendVideoNotify(pPort, pPort->pDraw, XvPreempted);
+ pOldDraw = pPort->pDraw;
+ if ((pOldDraw) && (pOldDraw != pDraw)) {
+ XvdiSendVideoNotify(pPort, pPort->pDraw, XvPreempted);
}
- (void) (* pPort->pAdaptor->ddPutVideo)(client, pDraw, pPort, pGC,
- vid_x, vid_y, vid_w, vid_h,
- drw_x, drw_y, drw_w, drw_h);
+ (void) (*pPort->pAdaptor->ddPutVideo) (client, pDraw, pPort, pGC,
+ vid_x, vid_y, vid_w, vid_h,
+ drw_x, drw_y, drw_w, drw_h);
- if ((pPort->pDraw) && (pOldDraw != pDraw))
- {
- pPort->client = client;
- XvdiSendVideoNotify(pPort, pPort->pDraw, XvStarted);
+ if ((pPort->pDraw) && (pOldDraw != pDraw)) {
+ pPort->client = client;
+ XvdiSendVideoNotify(pPort, pPort->pDraw, XvStarted);
}
- pPort->time = currentTime;
+ pPort->time = currentTime;
- return Success;
+ return Success;
}
int
-XvdiPutStill(
- ClientPtr client,
- DrawablePtr pDraw,
- XvPortPtr pPort,
- GCPtr pGC,
- INT16 vid_x, INT16 vid_y,
- CARD16 vid_w, CARD16 vid_h,
- INT16 drw_x, INT16 drw_y,
- CARD16 drw_w, CARD16 drw_h
-){
- int status;
-
- CHECK_SIZE(drw_w, drw_h, vid_w, vid_h);
-
- /* UPDATE TIME VARIABLES FOR USE IN EVENTS */
-
- UpdateCurrentTime();
-
- /* CHECK FOR GRAB; IF THIS CLIENT DOESN'T HAVE THE PORT GRABBED THEN
- INFORM CLIENT OF ITS FAILURE */
-
- if (pPort->grab.client && (pPort->grab.client != client))
- {
- XvdiSendVideoNotify(pPort, pDraw, XvBusy);
- return Success;
+XvdiPutStill(ClientPtr client,
+ DrawablePtr pDraw,
+ XvPortPtr pPort,
+ GCPtr pGC,
+ INT16 vid_x, INT16 vid_y,
+ CARD16 vid_w, CARD16 vid_h,
+ INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h)
+{
+ int status;
+
+ CHECK_SIZE(drw_w, drw_h, vid_w, vid_h);
+
+ /* UPDATE TIME VARIABLES FOR USE IN EVENTS */
+
+ UpdateCurrentTime();
+
+ /* CHECK FOR GRAB; IF THIS CLIENT DOESN'T HAVE THE PORT GRABBED THEN
+ INFORM CLIENT OF ITS FAILURE */
+
+ if (pPort->grab.client && (pPort->grab.client != client)) {
+ XvdiSendVideoNotify(pPort, pDraw, XvBusy);
+ return Success;
}
- pPort->time = currentTime;
+ pPort->time = currentTime;
- status = (* pPort->pAdaptor->ddPutStill)(client, pDraw, pPort, pGC,
- vid_x, vid_y, vid_w, vid_h,
- drw_x, drw_y, drw_w, drw_h);
+ status = (*pPort->pAdaptor->ddPutStill) (client, pDraw, pPort, pGC,
+ vid_x, vid_y, vid_w, vid_h,
+ drw_x, drw_y, drw_w, drw_h);
- return status;
+ return status;
}
int
-XvdiPutImage(
- ClientPtr client,
- DrawablePtr pDraw,
- XvPortPtr pPort,
- GCPtr pGC,
- INT16 src_x, INT16 src_y,
- CARD16 src_w, CARD16 src_h,
- INT16 drw_x, INT16 drw_y,
- CARD16 drw_w, CARD16 drw_h,
- XvImagePtr image,
- unsigned char* data,
- Bool sync,
- CARD16 width, CARD16 height
-){
- CHECK_SIZE(drw_w, drw_h, src_w, src_h);
-
- /* UPDATE TIME VARIABLES FOR USE IN EVENTS */
-
- UpdateCurrentTime();
-
- /* CHECK FOR GRAB; IF THIS CLIENT DOESN'T HAVE THE PORT GRABBED THEN
- INFORM CLIENT OF ITS FAILURE */
-
- if (pPort->grab.client && (pPort->grab.client != client))
- {
- XvdiSendVideoNotify(pPort, pDraw, XvBusy);
- return Success;
+XvdiPutImage(ClientPtr client,
+ DrawablePtr pDraw,
+ XvPortPtr pPort,
+ GCPtr pGC,
+ INT16 src_x, INT16 src_y,
+ CARD16 src_w, CARD16 src_h,
+ INT16 drw_x, INT16 drw_y,
+ CARD16 drw_w, CARD16 drw_h,
+ XvImagePtr image,
+ unsigned char *data, Bool sync, CARD16 width, CARD16 height)
+{
+ CHECK_SIZE(drw_w, drw_h, src_w, src_h);
+
+ /* UPDATE TIME VARIABLES FOR USE IN EVENTS */
+
+ UpdateCurrentTime();
+
+ /* CHECK FOR GRAB; IF THIS CLIENT DOESN'T HAVE THE PORT GRABBED THEN
+ INFORM CLIENT OF ITS FAILURE */
+
+ if (pPort->grab.client && (pPort->grab.client != client)) {
+ XvdiSendVideoNotify(pPort, pDraw, XvBusy);
+ return Success;
}
- pPort->time = currentTime;
+ pPort->time = currentTime;
- return (* pPort->pAdaptor->ddPutImage)(client, pDraw, pPort, pGC,
- src_x, src_y, src_w, src_h,
- drw_x, drw_y, drw_w, drw_h,
- image, data, sync, width, height);
+ return (*pPort->pAdaptor->ddPutImage) (client, pDraw, pPort, pGC,
+ src_x, src_y, src_w, src_h,
+ drw_x, drw_y, drw_w, drw_h,
+ image, data, sync, width, height);
}
-
int
-XvdiGetVideo(
- ClientPtr client,
- DrawablePtr pDraw,
- XvPortPtr pPort,
- GCPtr pGC,
- INT16 vid_x, INT16 vid_y,
- CARD16 vid_w, CARD16 vid_h,
- INT16 drw_x, INT16 drw_y,
- CARD16 drw_w, CARD16 drw_h
-){
- DrawablePtr pOldDraw;
-
- CHECK_SIZE(drw_w, drw_h, vid_w, vid_h);
-
- /* UPDATE TIME VARIABLES FOR USE IN EVENTS */
-
- UpdateCurrentTime();
-
- /* CHECK FOR GRAB; IF THIS CLIENT DOESN'T HAVE THE PORT GRABBED THEN
- INFORM CLIENT OF ITS FAILURE */
-
- if (pPort->grab.client && (pPort->grab.client != client))
- {
- XvdiSendVideoNotify(pPort, pDraw, XvBusy);
- return Success;
+XvdiGetVideo(ClientPtr client,
+ DrawablePtr pDraw,
+ XvPortPtr pPort,
+ GCPtr pGC,
+ INT16 vid_x, INT16 vid_y,
+ CARD16 vid_w, CARD16 vid_h,
+ INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h)
+{
+ DrawablePtr pOldDraw;
+
+ CHECK_SIZE(drw_w, drw_h, vid_w, vid_h);
+
+ /* UPDATE TIME VARIABLES FOR USE IN EVENTS */
+
+ UpdateCurrentTime();
+
+ /* CHECK FOR GRAB; IF THIS CLIENT DOESN'T HAVE THE PORT GRABBED THEN
+ INFORM CLIENT OF ITS FAILURE */
+
+ if (pPort->grab.client && (pPort->grab.client != client)) {
+ XvdiSendVideoNotify(pPort, pDraw, XvBusy);
+ return Success;
}
- /* CHECK TO SEE IF PORT IS IN USE; IF SO THEN WE MUST DELIVER INTERRUPTED
- EVENTS TO ANY CLIENTS WHO WANT THEM */
+ /* CHECK TO SEE IF PORT IS IN USE; IF SO THEN WE MUST DELIVER INTERRUPTED
+ EVENTS TO ANY CLIENTS WHO WANT THEM */
- pOldDraw = pPort->pDraw;
- if ((pOldDraw) && (pOldDraw != pDraw))
- {
- XvdiSendVideoNotify(pPort, pPort->pDraw, XvPreempted);
+ pOldDraw = pPort->pDraw;
+ if ((pOldDraw) && (pOldDraw != pDraw)) {
+ XvdiSendVideoNotify(pPort, pPort->pDraw, XvPreempted);
}
- (void) (* pPort->pAdaptor->ddGetVideo)(client, pDraw, pPort, pGC,
- vid_x, vid_y, vid_w, vid_h,
- drw_x, drw_y, drw_w, drw_h);
+ (void) (*pPort->pAdaptor->ddGetVideo) (client, pDraw, pPort, pGC,
+ vid_x, vid_y, vid_w, vid_h,
+ drw_x, drw_y, drw_w, drw_h);
- if ((pPort->pDraw) && (pOldDraw != pDraw))
- {
- pPort->client = client;
- XvdiSendVideoNotify(pPort, pPort->pDraw, XvStarted);
+ if ((pPort->pDraw) && (pOldDraw != pDraw)) {
+ pPort->client = client;
+ XvdiSendVideoNotify(pPort, pPort->pDraw, XvStarted);
}
- pPort->time = currentTime;
+ pPort->time = currentTime;
- return Success;
+ return Success;
}
int
-XvdiGetStill(
- ClientPtr client,
- DrawablePtr pDraw,
- XvPortPtr pPort,
- GCPtr pGC,
- INT16 vid_x, INT16 vid_y,
- CARD16 vid_w, CARD16 vid_h,
- INT16 drw_x, INT16 drw_y,
- CARD16 drw_w, CARD16 drw_h
-){
- int status;
-
- CHECK_SIZE(drw_w, drw_h, vid_w, vid_h);
-
- /* UPDATE TIME VARIABLES FOR USE IN EVENTS */
-
- UpdateCurrentTime();
-
- /* CHECK FOR GRAB; IF THIS CLIENT DOESN'T HAVE THE PORT GRABBED THEN
- INFORM CLIENT OF ITS FAILURE */
-
- if (pPort->grab.client && (pPort->grab.client != client))
- {
- XvdiSendVideoNotify(pPort, pDraw, XvBusy);
- return Success;
+XvdiGetStill(ClientPtr client,
+ DrawablePtr pDraw,
+ XvPortPtr pPort,
+ GCPtr pGC,
+ INT16 vid_x, INT16 vid_y,
+ CARD16 vid_w, CARD16 vid_h,
+ INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h)
+{
+ int status;
+
+ CHECK_SIZE(drw_w, drw_h, vid_w, vid_h);
+
+ /* UPDATE TIME VARIABLES FOR USE IN EVENTS */
+
+ UpdateCurrentTime();
+
+ /* CHECK FOR GRAB; IF THIS CLIENT DOESN'T HAVE THE PORT GRABBED THEN
+ INFORM CLIENT OF ITS FAILURE */
+
+ if (pPort->grab.client && (pPort->grab.client != client)) {
+ XvdiSendVideoNotify(pPort, pDraw, XvBusy);
+ return Success;
}
- status = (* pPort->pAdaptor->ddGetStill)(client, pDraw, pPort, pGC,
- vid_x, vid_y, vid_w, vid_h,
- drw_x, drw_y, drw_w, drw_h);
+ status = (*pPort->pAdaptor->ddGetStill) (client, pDraw, pPort, pGC,
+ vid_x, vid_y, vid_w, vid_h,
+ drw_x, drw_y, drw_w, drw_h);
- pPort->time = currentTime;
+ pPort->time = currentTime;
- return status;
+ return status;
}
int
-XvdiGrabPort(
- ClientPtr client,
- XvPortPtr pPort,
- Time ctime,
- int *p_result
-){
- unsigned long id;
- TimeStamp time;
-
- UpdateCurrentTime();
- time = ClientTimeToServerTime(ctime);
-
- if (pPort->grab.client && (client != pPort->grab.client))
- {
- *p_result = XvAlreadyGrabbed;
- return Success;
+XvdiGrabPort(ClientPtr client, XvPortPtr pPort, Time ctime, int *p_result)
+{
+ unsigned long id;
+ TimeStamp time;
+
+ UpdateCurrentTime();
+ time = ClientTimeToServerTime(ctime);
+
+ if (pPort->grab.client && (client != pPort->grab.client)) {
+ *p_result = XvAlreadyGrabbed;
+ return Success;
}
- if ((CompareTimeStamps(time, currentTime) == LATER) ||
- (CompareTimeStamps(time, pPort->time) == EARLIER))
- {
- *p_result = XvInvalidTime;
- return Success;
+ if ((CompareTimeStamps(time, currentTime) == LATER) ||
+ (CompareTimeStamps(time, pPort->time) == EARLIER)) {
+ *p_result = XvInvalidTime;
+ return Success;
}
- if (client == pPort->grab.client)
- {
- *p_result = Success;
- return Success;
+ if (client == pPort->grab.client) {
+ *p_result = Success;
+ return Success;
}
- id = FakeClientID(client->index);
+ id = FakeClientID(client->index);
- if (!AddResource(id, XvRTGrab, &pPort->grab))
- {
- return BadAlloc;
+ if (!AddResource(id, XvRTGrab, &pPort->grab)) {
+ return BadAlloc;
}
- /* IF THERE IS ACTIVE VIDEO THEN STOP IT */
+ /* IF THERE IS ACTIVE VIDEO THEN STOP IT */
- if ((pPort->pDraw) && (client != pPort->client))
- {
- XvdiStopVideo(NULL, pPort, pPort->pDraw);
+ if ((pPort->pDraw) && (client != pPort->client)) {
+ XvdiStopVideo(NULL, pPort, pPort->pDraw);
}
- pPort->grab.client = client;
- pPort->grab.id = id;
+ pPort->grab.client = client;
+ pPort->grab.id = id;
- pPort->time = currentTime;
+ pPort->time = currentTime;
- *p_result = Success;
+ *p_result = Success;
- return Success;
+ return Success;
}
int
-XvdiUngrabPort(
- ClientPtr client,
- XvPortPtr pPort,
- Time ctime
-){
- TimeStamp time;
-
- UpdateCurrentTime();
- time = ClientTimeToServerTime(ctime);
-
- if ((!pPort->grab.client) || (client != pPort->grab.client))
- {
- return Success;
+XvdiUngrabPort(ClientPtr client, XvPortPtr pPort, Time ctime)
+{
+ TimeStamp time;
+
+ UpdateCurrentTime();
+ time = ClientTimeToServerTime(ctime);
+
+ if ((!pPort->grab.client) || (client != pPort->grab.client)) {
+ return Success;
}
- if ((CompareTimeStamps(time, currentTime) == LATER) ||
- (CompareTimeStamps(time, pPort->time) == EARLIER))
- {
- return Success;
+ if ((CompareTimeStamps(time, currentTime) == LATER) ||
+ (CompareTimeStamps(time, pPort->time) == EARLIER)) {
+ return Success;
}
- /* FREE THE GRAB RESOURCE; AND SET THE GRAB CLIENT TO NULL */
+ /* FREE THE GRAB RESOURCE; AND SET THE GRAB CLIENT TO NULL */
- FreeResource(pPort->grab.id, XvRTGrab);
- pPort->grab.client = NULL;
+ FreeResource(pPort->grab.id, XvRTGrab);
+ pPort->grab.client = NULL;
- pPort->time = currentTime;
+ pPort->time = currentTime;
- return Success;
+ return Success;
}
-
int
-XvdiSelectVideoNotify(
- ClientPtr client,
- DrawablePtr pDraw,
- BOOL onoff
-){
- XvVideoNotifyPtr pn,tpn,fpn;
- int rc;
-
- /* FIND VideoNotify LIST */
-
- rc = dixLookupResourceByType((pointer *)&pn, pDraw->id, XvRTVideoNotifyList,
- client, DixWriteAccess);
- if (rc != Success && rc != BadValue)
- return rc;
-
- /* IF ONE DONES'T EXIST AND NO MASK, THEN JUST RETURN */
-
- if (!onoff && !pn) return Success;
-
- /* IF ONE DOESN'T EXIST CREATE IT AND ADD A RESOURCE SO THAT THE LIST
- WILL BE DELETED WHEN THE DRAWABLE IS DESTROYED */
-
- if (!pn)
- {
- if (!(tpn = malloc(sizeof(XvVideoNotifyRec))))
- return BadAlloc;
- tpn->next = NULL;
- if (!AddResource(pDraw->id, XvRTVideoNotifyList, tpn))
- {
- free(tpn);
- return BadAlloc;
- }
+XvdiSelectVideoNotify(ClientPtr client, DrawablePtr pDraw, BOOL onoff)
+{
+ XvVideoNotifyPtr pn, tpn, fpn;
+ int rc;
+
+ /* FIND VideoNotify LIST */
+
+ rc = dixLookupResourceByType((pointer *) &pn, pDraw->id,
+ XvRTVideoNotifyList, client, DixWriteAccess);
+ if (rc != Success && rc != BadValue)
+ return rc;
+
+ /* IF ONE DONES'T EXIST AND NO MASK, THEN JUST RETURN */
+
+ if (!onoff && !pn)
+ return Success;
+
+ /* IF ONE DOESN'T EXIST CREATE IT AND ADD A RESOURCE SO THAT THE LIST
+ WILL BE DELETED WHEN THE DRAWABLE IS DESTROYED */
+
+ if (!pn) {
+ if (!(tpn = malloc(sizeof(XvVideoNotifyRec))))
+ return BadAlloc;
+ tpn->next = NULL;
+ if (!AddResource(pDraw->id, XvRTVideoNotifyList, tpn)) {
+ free(tpn);
+ return BadAlloc;
+ }
}
- else
- {
- /* LOOK TO SEE IF ENTRY ALREADY EXISTS */
-
- fpn = NULL;
- tpn = pn;
- while (tpn)
- {
- if (tpn->client == client)
- {
- if (!onoff) tpn->client = NULL;
- return Success;
- }
- if (!tpn->client) fpn = tpn; /* TAKE NOTE OF FREE ENTRY */
- tpn = tpn->next;
- }
-
- /* IF TUNNING OFF, THEN JUST RETURN */
-
- if (!onoff) return Success;
-
- /* IF ONE ISN'T FOUND THEN ALLOCATE ONE AND LINK IT INTO THE LIST */
-
- if (fpn)
- {
- tpn = fpn;
- }
- else
- {
- if (!(tpn = malloc(sizeof(XvVideoNotifyRec))))
- return BadAlloc;
- tpn->next = pn->next;
- pn->next = tpn;
- }
+ else {
+ /* LOOK TO SEE IF ENTRY ALREADY EXISTS */
+
+ fpn = NULL;
+ tpn = pn;
+ while (tpn) {
+ if (tpn->client == client) {
+ if (!onoff)
+ tpn->client = NULL;
+ return Success;
+ }
+ if (!tpn->client)
+ fpn = tpn; /* TAKE NOTE OF FREE ENTRY */
+ tpn = tpn->next;
+ }
+
+ /* IF TUNNING OFF, THEN JUST RETURN */
+
+ if (!onoff)
+ return Success;
+
+ /* IF ONE ISN'T FOUND THEN ALLOCATE ONE AND LINK IT INTO THE LIST */
+
+ if (fpn) {
+ tpn = fpn;
+ }
+ else {
+ if (!(tpn = malloc(sizeof(XvVideoNotifyRec))))
+ return BadAlloc;
+ tpn->next = pn->next;
+ pn->next = tpn;
+ }
}
- /* INIT CLIENT PTR IN CASE WE CAN'T ADD RESOURCE */
- /* ADD RESOURCE SO THAT IF CLIENT EXITS THE CLIENT PTR WILL BE CLEARED */
+ /* INIT CLIENT PTR IN CASE WE CAN'T ADD RESOURCE */
+ /* ADD RESOURCE SO THAT IF CLIENT EXITS THE CLIENT PTR WILL BE CLEARED */
- tpn->client = NULL;
- tpn->id = FakeClientID(client->index);
- AddResource(tpn->id, XvRTVideoNotify, tpn);
+ tpn->client = NULL;
+ tpn->id = FakeClientID(client->index);
+ AddResource(tpn->id, XvRTVideoNotify, tpn);
- tpn->client = client;
- return Success;
+ tpn->client = client;
+ return Success;
}
int
-XvdiSelectPortNotify(
- ClientPtr client,
- XvPortPtr pPort,
- BOOL onoff
-){
- XvPortNotifyPtr pn,tpn;
-
- /* SEE IF CLIENT IS ALREADY IN LIST */
-
- tpn = NULL;
- pn = pPort->pNotify;
- while (pn)
- {
- if (!pn->client) tpn = pn; /* TAKE NOTE OF FREE ENTRY */
- if (pn->client == client) break;
- pn = pn->next;
+XvdiSelectPortNotify(ClientPtr client, XvPortPtr pPort, BOOL onoff)
+{
+ XvPortNotifyPtr pn, tpn;
+
+ /* SEE IF CLIENT IS ALREADY IN LIST */
+
+ tpn = NULL;
+ pn = pPort->pNotify;
+ while (pn) {
+ if (!pn->client)
+ tpn = pn; /* TAKE NOTE OF FREE ENTRY */
+ if (pn->client == client)
+ break;
+ pn = pn->next;
}
- /* IS THE CLIENT ALREADY ON THE LIST? */
+ /* IS THE CLIENT ALREADY ON THE LIST? */
- if (pn)
- {
- /* REMOVE IT? */
+ if (pn) {
+ /* REMOVE IT? */
- if (!onoff)
- {
- pn->client = NULL;
- FreeResource(pn->id, XvRTPortNotify);
- }
+ if (!onoff) {
+ pn->client = NULL;
+ FreeResource(pn->id, XvRTPortNotify);
+ }
- return Success;
+ return Success;
}
- /* DIDN'T FIND IT; SO REUSE LIST ELEMENT IF ONE IS FREE OTHERWISE
- CREATE A NEW ONE AND ADD IT TO THE BEGINNING OF THE LIST */
+ /* DIDN'T FIND IT; SO REUSE LIST ELEMENT IF ONE IS FREE OTHERWISE
+ CREATE A NEW ONE AND ADD IT TO THE BEGINNING OF THE LIST */
- if (!tpn)
- {
- if (!(tpn = malloc(sizeof(XvPortNotifyRec))))
- return BadAlloc;
- tpn->next = pPort->pNotify;
- pPort->pNotify = tpn;
+ if (!tpn) {
+ if (!(tpn = malloc(sizeof(XvPortNotifyRec))))
+ return BadAlloc;
+ tpn->next = pPort->pNotify;
+ pPort->pNotify = tpn;
}
- tpn->client = client;
- tpn->id = FakeClientID(client->index);
- AddResource(tpn->id, XvRTPortNotify, tpn);
+ tpn->client = client;
+ tpn->id = FakeClientID(client->index);
+ AddResource(tpn->id, XvRTPortNotify, tpn);
- return Success;
+ return Success;
}
int
-XvdiStopVideo(
- ClientPtr client,
- XvPortPtr pPort,
- DrawablePtr pDraw
-){
- int status;
-
- /* IF PORT ISN'T ACTIVE THEN WE'RE DONE */
-
- if (!pPort->pDraw || (pPort->pDraw != pDraw))
- {
- XvdiSendVideoNotify(pPort, pDraw, XvStopped);
- return Success;
+XvdiStopVideo(ClientPtr client, XvPortPtr pPort, DrawablePtr pDraw)
+{
+ int status;
+
+ /* IF PORT ISN'T ACTIVE THEN WE'RE DONE */
+
+ if (!pPort->pDraw || (pPort->pDraw != pDraw)) {
+ XvdiSendVideoNotify(pPort, pDraw, XvStopped);
+ return Success;
}
- /* CHECK FOR GRAB; IF THIS CLIENT DOESN'T HAVE THE PORT GRABBED THEN
- INFORM CLIENT OF ITS FAILURE */
+ /* CHECK FOR GRAB; IF THIS CLIENT DOESN'T HAVE THE PORT GRABBED THEN
+ INFORM CLIENT OF ITS FAILURE */
- if ((client) && (pPort->grab.client) && (pPort->grab.client != client))
- {
- XvdiSendVideoNotify(pPort, pDraw, XvBusy);
- return Success;
+ if ((client) && (pPort->grab.client) && (pPort->grab.client != client)) {
+ XvdiSendVideoNotify(pPort, pDraw, XvBusy);
+ return Success;
}
- XvdiSendVideoNotify(pPort, pDraw, XvStopped);
+ XvdiSendVideoNotify(pPort, pDraw, XvStopped);
- status = (* pPort->pAdaptor->ddStopVideo)(client, pPort, pDraw);
+ status = (*pPort->pAdaptor->ddStopVideo) (client, pPort, pDraw);
- pPort->pDraw = NULL;
- pPort->client = (ClientPtr)client;
- pPort->time = currentTime;
+ pPort->pDraw = NULL;
+ pPort->client = (ClientPtr) client;
+ pPort->time = currentTime;
- return status;
+ return status;
}
int
-XvdiPreemptVideo(
- ClientPtr client,
- XvPortPtr pPort,
- DrawablePtr pDraw
-){
- int status;
+XvdiPreemptVideo(ClientPtr client, XvPortPtr pPort, DrawablePtr pDraw)
+{
+ int status;
- /* IF PORT ISN'T ACTIVE THEN WE'RE DONE */
+ /* IF PORT ISN'T ACTIVE THEN WE'RE DONE */
- if (!pPort->pDraw || (pPort->pDraw != pDraw)) return Success;
+ if (!pPort->pDraw || (pPort->pDraw != pDraw))
+ return Success;
- XvdiSendVideoNotify(pPort, pPort->pDraw, XvPreempted);
+ XvdiSendVideoNotify(pPort, pPort->pDraw, XvPreempted);
- status = (* pPort->pAdaptor->ddStopVideo)(client, pPort, pPort->pDraw);
+ status = (*pPort->pAdaptor->ddStopVideo) (client, pPort, pPort->pDraw);
- pPort->pDraw = NULL;
- pPort->client = (ClientPtr)client;
- pPort->time = currentTime;
+ pPort->pDraw = NULL;
+ pPort->client = (ClientPtr) client;
+ pPort->time = currentTime;
- return status;
+ return status;
}
int
-XvdiMatchPort(
- XvPortPtr pPort,
- DrawablePtr pDraw
-){
+XvdiMatchPort(XvPortPtr pPort, DrawablePtr pDraw)
+{
- XvAdaptorPtr pa;
- XvFormatPtr pf;
- int nf;
+ XvAdaptorPtr pa;
+ XvFormatPtr pf;
+ int nf;
- pa = pPort->pAdaptor;
+ pa = pPort->pAdaptor;
- if (pa->pScreen != pDraw->pScreen) return BadMatch;
+ if (pa->pScreen != pDraw->pScreen)
+ return BadMatch;
- nf = pa->nFormats;
- pf = pa->pFormats;
+ nf = pa->nFormats;
+ pf = pa->pFormats;
- while (nf--)
- {
- if (pf->depth == pDraw->depth)
- return Success;
- pf++;
+ while (nf--) {
+ if (pf->depth == pDraw->depth)
+ return Success;
+ pf++;
}
- return BadMatch;
+ return BadMatch;
}
int
-XvdiSetPortAttribute(
- ClientPtr client,
- XvPortPtr pPort,
- Atom attribute,
- INT32 value
-){
- int status;
-
- status = (* pPort->pAdaptor->ddSetPortAttribute)(client, pPort, attribute, value);
- if (status == Success)
- XvdiSendPortNotify(pPort, attribute, value);
-
- return status;
+XvdiSetPortAttribute(ClientPtr client,
+ XvPortPtr pPort, Atom attribute, INT32 value)
+{
+ int status;
+
+ status =
+ (*pPort->pAdaptor->ddSetPortAttribute) (client, pPort, attribute,
+ value);
+ if (status == Success)
+ XvdiSendPortNotify(pPort, attribute, value);
+
+ return status;
}
int
-XvdiGetPortAttribute(
- ClientPtr client,
- XvPortPtr pPort,
- Atom attribute,
- INT32 *p_value
-){
+XvdiGetPortAttribute(ClientPtr client,
+ XvPortPtr pPort, Atom attribute, INT32 *p_value)
+{
- return
- (* pPort->pAdaptor->ddGetPortAttribute)(client, pPort, attribute, p_value);
+ return
+ (*pPort->pAdaptor->ddGetPortAttribute) (client, pPort, attribute,
+ p_value);
}
static void
-WriteSwappedVideoNotifyEvent(xvEvent *from, xvEvent *to)
-
+WriteSwappedVideoNotifyEvent(xvEvent * from, xvEvent * to)
{
- to->u.u.type = from->u.u.type;
- to->u.u.detail = from->u.u.detail;
- cpswaps(from->u.videoNotify.sequenceNumber,
- to->u.videoNotify.sequenceNumber);
- cpswapl(from->u.videoNotify.time, to->u.videoNotify.time);
- cpswapl(from->u.videoNotify.drawable, to->u.videoNotify.drawable);
- cpswapl(from->u.videoNotify.port, to->u.videoNotify.port);
+ to->u.u.type = from->u.u.type;
+ to->u.u.detail = from->u.u.detail;
+ cpswaps(from->u.videoNotify.sequenceNumber,
+ to->u.videoNotify.sequenceNumber);
+ cpswapl(from->u.videoNotify.time, to->u.videoNotify.time);
+ cpswapl(from->u.videoNotify.drawable, to->u.videoNotify.drawable);
+ cpswapl(from->u.videoNotify.port, to->u.videoNotify.port);
}
static void
-WriteSwappedPortNotifyEvent(xvEvent *from, xvEvent *to)
-
+WriteSwappedPortNotifyEvent(xvEvent * from, xvEvent * to)
{
- to->u.u.type = from->u.u.type;
- to->u.u.detail = from->u.u.detail;
- cpswaps(from->u.portNotify.sequenceNumber, to->u.portNotify.sequenceNumber);
- cpswapl(from->u.portNotify.time, to->u.portNotify.time);
- cpswapl(from->u.portNotify.port, to->u.portNotify.port);
- cpswapl(from->u.portNotify.value, to->u.portNotify.value);
+ to->u.u.type = from->u.u.type;
+ to->u.u.detail = from->u.u.detail;
+ cpswaps(from->u.portNotify.sequenceNumber, to->u.portNotify.sequenceNumber);
+ cpswapl(from->u.portNotify.time, to->u.portNotify.time);
+ cpswapl(from->u.portNotify.port, to->u.portNotify.port);
+ cpswapl(from->u.portNotify.value, to->u.portNotify.value);
}