Hello,
I am writing AVstream minidriver and new to direct show. I am
using "KsPinGetFirstCloneStreamPointer" function to clone stream buffer
and Its some time its failing and some times its not.
1) What are the reasons for failing this fucntion?
2)A Basic question why it is required to clone?

Please help me out to get answers to these question.
Thanks and Regds,
Darshan

Re: "KsPinGetFirstCloneStreamPointer" is failing by Igor

Igor
Tue May 16 05:56:26 CDT 2006


> 1) What are the reasons for failing this fucntion?
If no clone stream pointers exist for Pin, KsPinGetFirstCloneStreamPointer
returns NULL.
> 2)A Basic question why it is required to clone?
In order to lock frame in memory.



Re: "KsPinGetFirstCloneStreamPointer" is failing by amparikh

amparikh
Tue May 16 12:49:36 CDT 2006


darshan.tapdia@gmail.com wrote:
> Hello,
> I am writing AVstream minidriver and new to direct show. I am
> using "KsPinGetFirstCloneStreamPointer" function to clone stream buffer
> and Its some time its failing and some times its not.
> 1) What are the reasons for failing this fucntion?
> 2)A Basic question why it is required to clone?
>
> Please help me out to get answers to these question.
> Thanks and Regds,
> Darshan

1>Have you cloned a stream pointer that arrived to you( during the
Process function)
It will return NULL when there are no stream cloned pointers with KS.

2>Cloning is required when you cannot process the frame immediately and
so you need to increase the ref count so that KS doesnt recycle it.
You need to exclusively delete it once you have duplicated it.

3>Did you Clone the initial stream pointer in the locked state ? and
what did the KsStreamPointerClone return ?


Re: "KsPinGetFirstCloneStreamPointer" is failing by darshan

darshan
Wed May 17 01:44:28 CDT 2006

Thanks for prompt replies.


3>Did you Clone the initial stream pointer in the locked state ?
Ans: YES
and
4 > what did the KsStreamPointerClone return ?
Ans: Call was successfull.

I have some more questions:
I have written timer dispatch function(Timer Context) in which , i
am submitting data to direct show. In this function , i tried
"KsPinGetFirstCloneStreamPointer" call but its failing.
" NOTE:I am passing neccessary driver context information to this
dispatch function"


1) What can be the cause? Is it like, in timer context we can not
clone the stream pointer?
2)In what way cloning is related to Application?
3)Is rate of getting clone pointers in driver context depends on
application?How?

Please help me out in this regard,
Warmest Regards,
Darshan



amparikh@gmail.com wrote:
> darshan.tapdia@gmail.com wrote:
> > Hello,
> > I am writing AVstream minidriver and new to direct show. I am
> > using "KsPinGetFirstCloneStreamPointer" function to clone stream buffer
> > and Its some time its failing and some times its not.
> > 1) What are the reasons for failing this fucntion?
> > 2)A Basic question why it is required to clone?
> >
> > Please help me out to get answers to these question.
> > Thanks and Regds,
> > Darshan
>
> 1>Have you cloned a stream pointer that arrived to you( during the
> Process function)
> It will return NULL when there are no stream cloned pointers with KS.
>
> 2>Cloning is required when you cannot process the frame immediately and
> so you need to increase the ref count so that KS doesnt recycle it.
> You need to exclusively delete it once you have duplicated it.
>
> 3>Did you Clone the initial stream pointer in the locked state ? and
> what did the KsStreamPointerClone return ?


Re: "KsPinGetFirstCloneStreamPointer" is failing by amparikh

amparikh
Wed May 17 02:13:14 CDT 2006


darshan.tapdia@gmail.com wrote:
> Thanks for prompt replies.
>
>
> 3>Did you Clone the initial stream pointer in the locked state ?
> Ans: YES
> and
> 4 > what did the KsStreamPointerClone return ?
> Ans: Call was successfull.
>
> I have some more questions:
> I have written timer dispatch function(Timer Context) in which , i
> am submitting data to direct show. In this function , i tried
> "KsPinGetFirstCloneStreamPointer" call but its failing.
> " NOTE:I am passing neccessary driver context information to this
> dispatch function"
>
>
> 1) What can be the cause? Is it like, in timer context we can not
> clone the stream pointer?
> 2)In what way cloning is related to Application?
> 3)Is rate of getting clone pointers in driver context depends on
> application?How?
>

So, you get a call to the process function( on your pin) and then you
clone the pointer.
are you sure you are calling the KsPinGetFirstCloneStreamPointer
function on the same pin ?

also is there any chance that you have deleted the cloned pointer
elsewhere ?

try to output debug messages with the stream pointers and you should
know what is going on.

> Please help me out in this regard,
> Warmest Regards,
> Darshan
>
>
>
> amparikh@gmail.com wrote:
> > darshan.tapdia@gmail.com wrote:
> > > Hello,
> > > I am writing AVstream minidriver and new to direct show. I am
> > > using "KsPinGetFirstCloneStreamPointer" function to clone stream buffer
> > > and Its some time its failing and some times its not.
> > > 1) What are the reasons for failing this fucntion?
> > > 2)A Basic question why it is required to clone?
> > >
> > > Please help me out to get answers to these question.
> > > Thanks and Regds,
> > > Darshan
> >
> > 1>Have you cloned a stream pointer that arrived to you( during the
> > Process function)
> > It will return NULL when there are no stream cloned pointers with KS.
> >
> > 2>Cloning is required when you cannot process the frame immediately and
> > so you need to increase the ref count so that KS doesnt recycle it.
> > You need to exclusively delete it once you have duplicated it.
> >
> > 3>Did you Clone the initial stream pointer in the locked state ? and
> > what did the KsStreamPointerClone return ?


Re: "KsPinGetFirstCloneStreamPointer" is failing by darshan

darshan
Fri May 19 04:44:04 CDT 2006

Thanks for the pointers.
Thanks & Rgds,
Darshan


amparikh@gmail.com wrote:
> darshan.tapdia@gmail.com wrote:
> > Thanks for prompt replies.
> >
> >
> > 3>Did you Clone the initial stream pointer in the locked state ?
> > Ans: YES
> > and
> > 4 > what did the KsStreamPointerClone return ?
> > Ans: Call was successfull.
> >
> > I have some more questions:
> > I have written timer dispatch function(Timer Context) in which , i
> > am submitting data to direct show. In this function , i tried
> > "KsPinGetFirstCloneStreamPointer" call but its failing.
> > " NOTE:I am passing neccessary driver context information to this
> > dispatch function"
> >
> >
> > 1) What can be the cause? Is it like, in timer context we can not
> > clone the stream pointer?
> > 2)In what way cloning is related to Application?
> > 3)Is rate of getting clone pointers in driver context depends on
> > application?How?
> >
>
> So, you get a call to the process function( on your pin) and then you
> clone the pointer.
> are you sure you are calling the KsPinGetFirstCloneStreamPointer
> function on the same pin ?
>
> also is there any chance that you have deleted the cloned pointer
> elsewhere ?
>
> try to output debug messages with the stream pointers and you should
> know what is going on.
>
> > Please help me out in this regard,
> > Warmest Regards,
> > Darshan
> >
> >
> >
> > amparikh@gmail.com wrote:
> > > darshan.tapdia@gmail.com wrote:
> > > > Hello,
> > > > I am writing AVstream minidriver and new to direct show. I am
> > > > using "KsPinGetFirstCloneStreamPointer" function to clone stream buffer
> > > > and Its some time its failing and some times its not.
> > > > 1) What are the reasons for failing this fucntion?
> > > > 2)A Basic question why it is required to clone?
> > > >
> > > > Please help me out to get answers to these question.
> > > > Thanks and Regds,
> > > > Darshan
> > >
> > > 1>Have you cloned a stream pointer that arrived to you( during the
> > > Process function)
> > > It will return NULL when there are no stream cloned pointers with KS.
> > >
> > > 2>Cloning is required when you cannot process the frame immediately and
> > > so you need to increase the ref count so that KS doesnt recycle it.
> > > You need to exclusively delete it once you have duplicated it.
> > >
> > > 3>Did you Clone the initial stream pointer in the locked state ? and
> > > what did the KsStreamPointerClone return ?