summaryrefslogtreecommitdiff
path: root/src/dxr3/dxr3_mpeg_encoders.c
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2003-09-11 10:01:02 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2003-09-11 10:01:02 +0000
commiteb613ac0854b3a88b5d1e4f9d15c59ae7520c524 (patch)
tree12fedbc7991520a498ca26a9263eec546c21b63f /src/dxr3/dxr3_mpeg_encoders.c
parentbf615c1c0db1047f5befc01860cde9c71aaf144b (diff)
downloadxine-lib-eb613ac0854b3a88b5d1e4f9d15c59ae7520c524.tar.gz
xine-lib-eb613ac0854b3a88b5d1e4f9d15c59ae7520c524.tar.bz2
fix stuttering playback for some non-MPEG content with the dxr3:
* move responsibility for the SCR plugin from the decoder to the video out * use the SCR for non-MPEG content as well * modify frames' vpts so they are sent earlier to the driver * tag the encoded MPEG stream by SETPTS ioctls to leave the final display scheduling to the card CVS patchset: 5354 CVS date: 2003/09/11 10:01:02
Diffstat (limited to 'src/dxr3/dxr3_mpeg_encoders.c')
-rw-r--r--src/dxr3/dxr3_mpeg_encoders.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/src/dxr3/dxr3_mpeg_encoders.c b/src/dxr3/dxr3_mpeg_encoders.c
index 7f4279baa..1461bea7f 100644
--- a/src/dxr3/dxr3_mpeg_encoders.c
+++ b/src/dxr3/dxr3_mpeg_encoders.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: dxr3_mpeg_encoders.c,v 1.12 2003/05/31 18:33:28 miguelfreitas Exp $
+ * $Id: dxr3_mpeg_encoders.c,v 1.13 2003/09/11 10:01:03 mroi Exp $
*/
/* mpeg encoders for the dxr3 video out plugin.
@@ -301,11 +301,6 @@ static void mp1e_callback(rte_context *context, void *data, ssize_t size, void *
char tmpstr[128];
ssize_t written;
- if (drv->fd_video == CLOSED_FOR_ENCODER) {
- snprintf(tmpstr, sizeof(tmpstr), "%s_mv%s", drv->class->devname, drv->class->devnum);
- drv->fd_video = open(tmpstr, O_WRONLY | O_NONBLOCK);
- }
- if (drv->fd_video < 0) return;
written = write(drv->fd_video, data, size);
if (written < 0) {
printf("dxr3_mpeg_encoder: video device write failed (%s)\n",
@@ -490,11 +485,6 @@ static int fame_on_display_frame(dxr3_driver_t *drv, dxr3_frame_t *frame)
frame->vo_frame.free(&frame->vo_frame);
- if (drv->fd_video == CLOSED_FOR_ENCODER) {
- snprintf (tmpstr, sizeof(tmpstr), "%s_mv%s", drv->class->devname, drv->class->devnum);
- drv->fd_video = open(tmpstr, O_WRONLY | O_NONBLOCK);
- }
- if (drv->fd_video < 0) return 0;
written = write(drv->fd_video, this->buffer, size);
if (written < 0) {
printf("dxr3_mpeg_encoder: video device write failed (%s)\n",