Difference between revisions of "InteractionSystem"

From VideoLAN Wiki
Jump to navigation Jump to search
 
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
{{Historical}}
 
== 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
 +
 
 +
[[Category:Dev Discussions]]

Latest revision as of 14:35, 1 October 2013

This page is obsolete and kept only for historical interest. It may document features that are obsolete, superseded, or irrelevant. Do not rely on the information here being up-to-date.

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