InteractionSystem: Difference between revisions

From VideoLAN Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
== Goal ==
== Goal ==
Reference : https://trac.videolan.org/vlc/ticket/27
The goal is to implement a system to:
* Alert the user of critical errors (cannot play file). Should be blocking.
* Ask the user a question
** Are you sure?
** Try to Fix index of avi?
** Overwrite File ?
* Inform the user, without disturbing him. (Buffering stream). This might require a displaytime or something. Because how do we know how long this information should be displayed? Also think of buffering 0-100%
* present a user/passwd dialog when we get an authentication failure on a stream.


== Roadmap ==
== Roadmap ==
Scheduled for implementation in 0.8.5
Some work will have to be done in all interfaces


== Objects architecture ==
== Objects architecture ==


* Interaction object
* Interaction object
  - void * pointer for interface specific stuff
** void * pointer for interface specific stuff


* Widget object
* Widget object
  - for input, associated with a vlc_value_t
** for input, associated with a vlc_value_t


* Interaction manager
* Interaction manager
  - Maintains a list of currently active interaction displays
** Maintains a list of currently active interaction displays
  - When a new interaction is requested, forward the request to the  
** When a new interaction is requested, forward the request to the interface (ASYNCHRONOUS !)
    interface (ASYNCHRONOUS !)
** Asks the interface to show/modify/remove a display
  - Asks the interface to show/modify/remove a display
** Active polling ?
  - Active polling ?


  - Signalling thhe interface :  
* Signalling the interface :  
      - function pointer
** function pointer
- easier to know if interface does not support
*** easier to know if interface does not support
-
** variable
      - variable
*** cleaner ?  
- cleaner ?  
** "control" function
- "control" function


* Requester  
* Requester  
  - Builds the interaction object
** Builds the interaction object
  - Add it to the interaction manager request queue.  
** Add it to the interaction manager request queue.  
      - Queue or single with lock ?   
*** Queue or single with lock ?   
      - Analyze deadlock possibility
*** Analyze deadlock possibility

Revision as of 15:15, 15 September 2005

Goal

Reference : https://trac.videolan.org/vlc/ticket/27

The goal is to implement a system to:

  • Alert the user of critical errors (cannot play file). Should be blocking.
  • Ask the user a question
    • Are you sure?
    • Try to Fix index of avi?
    • Overwrite File ?
  • Inform the user, without disturbing him. (Buffering stream). This might require a displaytime or something. Because how do we know how long this information should be displayed? Also think of buffering 0-100%
  • present a user/passwd dialog when we get an authentication failure on a stream.

Roadmap

Scheduled for implementation in 0.8.5

Some work will have to be done in all interfaces

Objects architecture

  • Interaction object
    • void * pointer for interface specific stuff
  • Widget object
    • for input, associated with a vlc_value_t
  • Interaction manager
    • Maintains a list of currently active interaction displays
    • When a new interaction is requested, forward the request to the interface (ASYNCHRONOUS !)
    • Asks the interface to show/modify/remove a display
    • Active polling ?
  • Signalling the interface :
    • function pointer
      • easier to know if interface does not support
    • variable
      • cleaner ?
    • "control" function
  • Requester
    • Builds the interaction object
    • Add it to the interaction manager request queue.
      • Queue or single with lock ?
      • Analyze deadlock possibility