Hi Ravi I tried ur idea it worked well....But i wanted that change for
only DRM contents.Is there any way that i can find out a media content
is DRM or not in engine??

Is it advisable to reset each time
(PVP_ENGINE_COMMAND_PAUSE_DUE_TO_ENDOFCLIP)for every type of
media ???

On Oct 20, 7:05 pm, Atish <atish...@gmail.com> wrote:
> Thanks Ravi for your reply it's a great help...
> "played completely" for this i was checking end of file in Pause State
> (TRACKSTATE_ENDOFTRACK)
>
> if track state is TRACKSTATE_ENDOFTRACK then consume rights otherwise
> do not...
>
> Is it a safer method to try??
>
> n Regarding ur query
> "As an example, one could do a
>
> > reposition in the last second of the clip, and playback from the
> > beginning. In your usecase, wouldn't that be allowed?"
>
> i think this case cannot be handled nywys...whatever u do....
>
> i'll try whatever u have suggested..thanks for it..
>
> so whatever time
> On Oct 20, 6:22 pm, RaviY <yend...@pv.com> wrote:
>
> > You haven't answered the what "played completely" means.
>
> > From OpenCORE perspective, consuming a license once per iteration in a
> > loop is not supported. I can also say that we don't have any immediate
> > plans to support the usecase.
>
> > Since you are in android-porting, you are free to change OpenCORE code
> > for your use. So, what you could do is in HandleSinkNodeInfoEvent()
> > [inside pv_player_engine.cpp, search for
> > "PVP_ENGINE_COMMAND_PAUSE_DUE_TO_ENDOFCLIP". This is a command that we
> > issue at the end of playback of a clip. Here, instead of pausing, you
> > could issue and internal RESET. This will make sure that at the end of
> > a completed playback session (i.e., all audio/video samples have been
> > rendered), you would clean up the session. And, in the
> > PlayerDriver::Run(), you would need to restart the playback session in
> > the section of code if (mDoLoop) { }.
>
> > Regarding your question: "But i m worried that if somebody will write
> > a test app where he won't call reset...in that case he can play DRM
> > FILE forever what do u say?? how to handle that case???" .... as I
> > said, there is no good way around it. As an example, one could do a
> > reposition in the last second of the clip, and playback from the
> > beginning. In your usecase, wouldn't that be allowed?
>
> > -Ravi
>
> > On Oct 20, 4:39 am, Atish <atish...@gmail.com> wrote:
>
> > > Yeah that is correct...in that case only option i m left with is to
> > > Change the Music app code.
>
> > > So after completion it will do a reset.That will do the things for me.
>
> > > But i m worried that if somebody will write a test app where he won't
> > > call reset...in that case he can play DRM FILE forever what do u say??
> > > how to handle that case???
>
> > > Thanks and Regards,
> > > Atish
>
> > > On Oct 17, 8:10 pm, RaviY <yend...@pv.com> wrote:
>
> > > > That would mean that you want to consume a license for every play in a
> > > > loop. Right?
>
> > > > As a consumer, that is a very bad scenario. Also, it introduces
> > > > trickcy situations/questions like, what does "played completely" mean?
> > > > Does it mean that the last sample/frame has been rendered? Or, does
> > > > that mean that the last sample has retrieved from the file (assuming
> > > > file playback as an example)?
>
> > > > As I mentioned earlier, probably in some other thread, "UsageComplete"
> > > > should not have anything to do with rights consumption. Decrementing
> > > > the DRM counter should be done in "AuthorizeUsage".
>
> > > > Checking the start or end of file (assuming you mean the duration) is
> > > > not a fool proof way. I could be wicked and reposition to the 1st
> > > > second, instead of starting from 0. What would you do then?
>
> > > > -Ravi
>
> > > > On Oct 17, 6:23 am,Atish<atish...@gmail.com> wrote:
>
> > > > > i want to consume rights each time is played(completely...)
>
> > > > > So i thought of moving the UsuageComplete code to DoPause or DoStart .
>
> > > > > and i'll check file start or file end in method so that it'll consume
> > > > > the rights only once during one time play...
>
> > > > > is there any better method to do it??
>
> > > > > On Oct 17, 10:16 am, RaviY <yend...@pv.com> wrote:
>
> > > > > > Are you saying that you want to consume a right every time the clip 
> > > > > > is
> > > > > > either paused, or stopped, or played in a loop?
>
> > > > > > On Oct 15, 8:47 am,Atish<atish...@gmail.com> wrote:
>
> > > > > > > Whatever u said is absolutely correct.But imaging actual use case
> > > > > > > scenario user doesnot want to remain in the player screen to play 
> > > > > > > the
> > > > > > > content infinitely(unless he is fanatic about the song!!!)
>
> > > > > > > But what i m talking about is u can come out of the player app and
> > > > > > > anytime u can go n start playing.
> > > > > > > As nobody called reset or stop all nodes will retain their STATE
> > > > > > > (PAUSED).Next time it will start from PAUSED STATE ONLY. :(
>
> > > > > > > If we can consume rights during START(STATE) or PAUSED/STOPPED
> > > > > > > (whichever is called by app) then at least we will save some 
> > > > > > > royalty
> > > > > > > to the operator...
>
> > > > > > > what do u say??isn't there any way to move the usage complete 
> > > > > > > code to
> > > > > > > any other state??
>
> > > > > > > On Oct 15, 2:22 pm, NoraBora <noranb...@gmail.com> wrote:
>
> > > > > > > >     Yes. the app can play a drm content with one 
> > > > > > > > consumption(because
> > > > > > > > AuthorizeUsage called during prepare) until reset(). but isn't 
> > > > > > > > this a normal
> > > > > > > > scenario?
> > > > > > > >    Imagine that near the playback end, user can seek to the 
> > > > > > > > first and can
> > > > > > > > watch forever by one consumption. What's the difference?
>
> > > > > > > >    If you really want the drm content to be played only once 
> > > > > > > > with one
> > > > > > > > consumption, maybe you could try using intents like
> > > > > > > > BITMASK_PVMF_CPM_DRM_INTENT_RESUME, 
> > > > > > > > BITMASK_PVMF_CPM_DRM_INTENT_SEEK_BACK in
> > > > > > > > parser nodes. (I haven't used them yet..)
>
> > > > > > > > 2009/10/15Atish<atish...@gmail.com>
>
> > > > > > > > > yeah we can do that but i feel that won't be a gud solution 
> > > > > > > > > as anybody
> > > > > > > > > can write an application which won't call reset.
> > > > > > > > > So that app can play the DRM content for ever by continous 
> > > > > > > > > playing the
> > > > > > > > > file.
> > > > > > > > > So some changes need to be done in ParserNode level so that 
> > > > > > > > > each time
> > > > > > > > > node goes from pause to start it should at least call  
> > > > > > > > > AuthorizeUsuage
> > > > > > > > > and UsuageComplete..
>
> > > > > > > > > what do u say??
>
> > > > > > > > > On Oct 15, 12:28 pm, NoraBora <noranb...@gmail.com> wrote:
> > > > > > > > > > I tested what you said.
> > > > > > > > > > MediaPlayer.start() ... wait...play 
> > > > > > > > > > complete..MediaPlayer.start()
> > > > > > > > > > In the second start(), none of the cpm function called.
>
> > > > > > > > > > Under this opencore structure,
> > > > > > > > > > all I can think of is to reset MediaPlayer in 
> > > > > > > > > > CompletionListener.
>
> > > > > > > > > > I hope there is a better solution.
>
> > > > > > > > > > 2009/10/14Atish<atish...@gmail.com>
>
> > > > > > > > > > > Thanks for Replying...
>
> > > > > > > > > > > I have already tried that.
>
> > > > > > > > > > > CPM's AuthorizeUsage() will be called only once when u 
> > > > > > > > > > > start playing a
> > > > > > > > > > > new media file.
>
> > > > > > > > > > > Once play is finished node will be in paused state.So if 
> > > > > > > > > > > u start
> > > > > > > > > > > playing again node will go to Start state.
> > > > > > > > > > > PvPlayerEngine->Resume->ParserNode->Start.
> > > > > > > > > > > So AuthorizeUsage()  won't be called.
>
> > > > > > > > > > > As all the cpm calls are enqued in Init of Parser node 
> > > > > > > > > > > only if u
> > > > > > > > > > > change media file or call Reset from App then only cpm 
> > > > > > > > > > > commands will
> > > > > > > > > > > be invoked.
>
> > > > > > > > > > > Please guide me what to do in this scenario???
>
> > > > > > > > > > > On Oct 14, 12:32 pm, NoraBora <noranb...@gmail.com> wrote:
> > > > > > > > > > > > I didn't know the default music player doesn't call
> > > > > > > > > MediaPlayer.Reset().
>
> > > > > > > > > > > > How about you put such as ConsumeRight() in CPM's 
> > > > > > > > > > > > AuthorizeUsage()
> > > > > > > > > not in
> > > > > > > > > > > > CPM's UsageComplete()?
> > > > > > > > > > > > In this case the consumption happens before playback.
>
> > > > > > > > > > > > 2009/10/14Atish<atish...@gmail.com>
>
> > > > > > > > > > > > > But Currently android music player doesnot call 
> > > > > > > > > > > > > Reset.That means it
> > > > > > > > > > > > > can play DRM files with no constratint!!!!
>
> > > > > > > > > > > > > So where should i put that UsuageComplete code so 
> > > > > > > > > > > > > that every case
> > > > > > > > > is
> > > > > > > > > > > > > considered??
>
> > > > > > > > > > > > > On Oct 14, 6:44 am, NoraBora <noranb...@gmail.com> 
> > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > DoReset() is invoked by MediaPlayer.reset();
>
> > > > > > > > > > > > > > 2009/10/13Atish<atish...@gmail.com>
>
> > > > > > > > > > > > > > > Hi All,
> > > > > > > > > > > > > > > I m trying to run CPM plugin thru opencore for 
> > > > > > > > > > > > > > > playing DRM
> > > > > > > > > contents
> > > > > > > > > > > in
> > > > > > > > > > > > > > > Android.
>
> > > > > > > > > > > > > > > I was succesfule in registrering and checking the 
> > > > > > > > > > > > > > > rights for
> > > > > > > > > DRM
> > > > > > > > > > > > > > > content thru CPM plugin.
>
> > > > > > > > > > > > > > > But consuming rights is not working because of 
> > > > > > > > > > > > > > > below mentioned
> > > > > > > > > > > reason.
>
> > > > > > > > > > > > > > >  Push(iCPMContainer,
> > > > > > > > > > > PVMFSubNodeContainerBaseMp3::ECPMUsageComplete);
> > > > > > > > > > > > > > > This command will enque the consume rights 
> > > > > > > > > > > > > > > commands
> > > > > > > > > > > > > > > (ECPMUsageComplete).But this  code is present in 
> > > > > > > > > > > > > > > DoReset.
>
> > > > > > > > > > > > > > > So how do reset will be invoked??
> > > > > > > > > > > > > > > Current android music player doesnot even call 
> > > > > > > > > > > > > > > stop.
>
> > > > > > > > > > > > > > > so ECPMUsageComplete is not getting called...
> > > > > > > > > > > > > > > how to solve this issue...???- Hide quoted text -
>
> > > > > > > > > > > > > > - Show quoted text -- Hide quoted text -
>
> > > > > > > > > > > > - Show quoted text -- Hide quoted text -
>
> > > > > > > > > > - Show quoted text -- Hide quoted text -
>
> > > > > > > > - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to