ALSA: usb-audio: Work around for XRUN with low latency playback
[linux-2.6-microblaze.git] / sound / usb / card.h
index 5577a77..5b19901 100644 (file)
@@ -19,7 +19,7 @@ struct audioformat {
        unsigned char iface;            /* interface number */
        unsigned char altsetting;       /* corresponding alternate setting */
        unsigned char ep_idx;           /* endpoint array index */
-       unsigned char altset_idx;       /* array index of altenate setting */
+       unsigned char altset_idx;       /* array index of alternate setting */
        unsigned char attributes;       /* corresponding attributes of cs endpoint */
        unsigned char endpoint;         /* endpoint */
        unsigned char ep_attr;          /* endpoint attributes */
@@ -94,6 +94,7 @@ struct snd_usb_endpoint {
        struct list_head ready_playback_urbs; /* playback URB FIFO for implicit fb */
 
        unsigned int nurbs;             /* # urbs */
+       unsigned int nominal_queue_size; /* total buffer sizes in URBs */
        unsigned long active_mask;      /* bitmask of active urbs */
        unsigned long unlink_mask;      /* bitmask of unlinked urbs */
        char *syncbuf;                  /* sync buffer for all sync URBs */
@@ -158,6 +159,7 @@ struct snd_usb_substream {
        unsigned int stream_offset_adj; /* Bytes to drop from beginning of stream (for non-compliant devices) */
 
        unsigned int running: 1;        /* running status */
+       unsigned int period_elapsed_pending;    /* delay period handling */
 
        unsigned int buffer_bytes;      /* buffer size in bytes */
        unsigned int inflight_bytes;    /* in-flight data bytes on buffer (for playback) */
@@ -186,6 +188,7 @@ struct snd_usb_substream {
        } dsd_dop;
 
        bool trigger_tstamp_pending_update; /* trigger timestamp being updated from initial estimate */
+       bool early_playback_start;      /* early start needed for playback? */
        struct media_ctl *media_ctl;
 };