view osdep/swab.c @ 26089:e2f35d90ad39

Set audio->sh correctly when switching audio tracks. The same for video tracks. Demuxers almost never update audio->sh or sub->sh when swithing tracks. It is especially bad when switching to no sound, and results in "too many audio packets" error.
author eugeni
date Fri, 29 Feb 2008 17:25:48 +0000
parents 936209c39ed1
children 5cfef41a1771
line wrap: on
line source

#include "config.h"

/* system has no swab.  emulate via bswap */
#include "mpbswap.h"
#include <unistd.h>

void swab(const void *from, void *to, ssize_t n) {
  const int16_t *in = (int16_t*)from;
  int16_t *out = (int16_t*)to;
  int i;
  n /= 2;
  for (i = 0 ; i < n; i++) {
    out[i] = bswap_16(in[i]);
  }
}