Search Results

Search found 19699 results on 788 pages for 'touch screen'.

Page 209/788 | < Previous Page | 205 206 207 208 209 210 211 212 213 214 215 216  | Next Page >

  • Why does cifs asks for su rights to write any data into it?

    - by Denys S.
    I'm mounting a windows share as follows: sudo mount -t cifs //192.168.178.49/public -o users,username=name,dom=domain,password=pword /mnt/nas Then I'm trying to create a simple file with some basic text: touch /mnt/nas/me.txt And get an error, however, the file is created (contains 0B of data though): touch: cannot touch ‘me.txt’: Permission denied With sudo it works flawless. How can I allow my current user to write data to the share? Is there a mount option?

    Read the article

  • How to prevent the "other user" from appearing on the logon screen of a server?

    - by user114106
    When I want to log into a server console (Server 2008 R2), I click Ctrl+Alt+Del and get "Other User" that I need to click before I get the log in box to add my credentials. This wouldnt be so bad, but I want to use this server as a Citrix server and so far every user that tries to connect has to click other user before they can add thier own credentials.. Has anyone got any ideas on ewhat I can do to get this to go straight to the username and password without the extra click?

    Read the article

  • Why does my monitor have a black screen but the power light is blinking green?

    - by Chris Vesper
    I have a ViewSonic VA912b 19" display I use as a secondary monitor. When I turn it on, the power light is green for a few seconds, and then switches to blinking green. The display stays black. Windows thinks the monitor is on, as it shows up in the control panel as a second monitor. If I unplug the DVI cable, it displays a "No Signal" message and the power light goes to amber, which means it went to sleep.

    Read the article

  • What kind of eye wear can I use to protect my eyes from staring at a screen all day?

    - by dr dork
    Many of us stare at computer screens all day. Lately, my eyes have been irritated from prolonged staring at my computer screens. Does anyone use or know of any eye wear technology that helps with this? About five years back, I bought a pair of prescription-1 eye glasses that had a no-glare layer put on them. It slightly helped, so I'm considering getting another pair. Is this the best option I have at this point? Thanks so much in advance for your wisdom!

    Read the article

  • What kind of eye wear can I use to protect my eyes from being irritated from staring at a screen all

    - by dr dork
    Many of us stare at computer screens all day. Lately, my eyes have been irritated from prolonged staring at my computer screens. Does anyone use or know of any eye wear technology that helps with this? About five years back, I bought a pair of non-prescription eye glasses that had a no-glare layer put on them by an optometrist. It slightly helped, so I'm considering getting another pair. Is this the best option I have at this point? Thanks so much in advance for your wisdom!

    Read the article

  • How to disable color dithering for low-bit-depth screen settings?

    - by gogowitsch
    I am using Terminal Services and TeamViewer a lot to access other computers, partly over slow networks. The problem described below is not affected by which of the two remote access services I am using. When accessing Windows 7 Professional machines, a great deal of text is hard to read as the background is dithered. Even for exactly the same colors, Windows 2003 does not seem to dither at all, but to choose the closest available color. I strongly prefer the latter, as I don't care for the exact colors, I just want to be able to read easily. I am not sure whether this is operating system-related. The programs on the remote systems do not allow me to change the color choices for the various backgrounds to anything sane. Is there a way to disable this color dithering using some target operating system setting that will do the trick for both Terminal Services and TeamViewer?

    Read the article

  • How to setup a Linux machine to remotely use laptop screen as a second display?

    - by Ignas Limanauskas
    I am looking for a similar solution to MaxiVista, but for Linux (Ubuntu). I have an Ubuntu machine with just one display attached, but I also have a Windows laptop running a virtual machine with Ubuntu installed. I figured there must be a way to trick the main Ubuntu machine remotely use the virtual machine's display capabilities. After all, X11 does support forwarding and things like that. Any ideas how to do it using VNC? I saw some references to xdmx, but instructions so far are vague and do not seem to work on my machine(s).

    Read the article

  • touchscreen in dual monitors but not as primary

    - by bazzjedi
    Hi, I have been looking for information about using a second monitor but thought of using a touchscreen will a touchscreen monitor work in dual set up, but not set up as main monitor which is the question. Can't find any information on this only when others set it has main. only this piece If you mean do the touch screen features still work on the other machine, the answer is yes. Past that, you can even see some of the touch screen features on a non touch screen monitor (just not the multi touch features!) For example, on the taskbar, click (without releasing) on any icon and then drag the mouse up, and you will see that it does the same as using your finger and dragging up. link|flag answered Feb 5 '10 at 15:14 Wil 47.4k125 have hp 2510 main thinking of hp2310ti touchscreen as secondary, grafic card geforce gtx 295- windows 7 professional regards bazzjedi

    Read the article

  • Can Windows 7 place a task bar on each monitor, which only shows applications running on that screen

    - by OverloadUT
    I would like to have a task bar on each of my monitors, but I only want applications that are currently on that monitor to be displayed on its taskbar. This can be accomplished using UltraMon, however the taskbar shown on the secondary and tertiary monitors is not the native Windows 7 taskbar, but rather made to try to simulate how it looks and feels. As good as it is, it is missing a ton of the features I find best about the taskbar, such as program grouping, "peeking" at applications and so forth. So I am wondering if there is a way to make Windows 7 actually display its native awesome taskbar on multiple monitors.

    Read the article

  • Laptop Synaptics Touchpad No Longer Functional After Windows 7 Upgrade

    - by Chance
    I have a Toshiba laptop, with an integral Synaptics (PS/2 port) touch pad, that I bought pre-installed with 32-bit Windows Vista. After doing a clean install of 32-bit Windows 7, I can no longer get the touch pad to respond. The function (FN) keys on the laptop still operate correctly, but they no longer display on screen when used. I have no way of knowing if the function key to enable / disable the touch pad is working correctly, although the function keys for dim / brighten display, as well as others, work fine. I have removed the device from the device manager and allowed it to reinstall with no success. I have removed the previous drivers and updated them with the current 32-bit Win7 compatible versions from Synaptics website, with no success. The Synaptics icon displays in the taskbar, and the touch pad is available in the Device Manager, both of which say the device is installed and working correctly. I have checked to make sure that the touch pad is enabled in the Synaptics menu, and have tried toggling enabled / disabled with no success. If anyone has any suggestions, or knows where I can find a solution, I would be very appreciative.

    Read the article

  • Does anyone know the touchpad disabling driver for Dell xps 14?

    - by rkar
    I accidentally deleted my Dell xps 14 touch pad disabling driver and I don't know where to find it and reinstall it. I have already tried Dell support and without luck (I don't want to install something that I don't know). Would anyone please send me the link to that driver To clarify: There is this Fn shortcut key used to disable/enable touch pad in Dell xps14 and when press it orange light on touch pad will lit and touch pad will stop working. But after deleting the driver that responsible for that function,it stopped working. My service center is almost 600 miles away and he said that he forgot to add it last time he fix my laptop. Since the internet connection at his place is slow,he can't send me from mail either.So can anyone send me the link for that driver. Since I don't really know about drivers it would be really nice if some one show me the driver name or link. Sorry,here is my laptop service tag "C37KWL1".I don't know how to find the specific driver for that function key.My dell has a short cut for disabling touchpad with picture on it along with the other multimedia short cut key with picture. since xps 15 and 17 have seperated touch key instead of on function keys mine have to choose function key or multimedia key through setting.To be honest my service center tech guy forgot to install it when he repair it and can't send me the file(which is about over 20mb or something according to him)for some reason.All i need is that particular file.

    Read the article

  • Any advice on what to do when getting a cryptic blue screen in windows?

    - by Svish
    What are some steps that you usually take? Are there any good ways of finding out what they mean etc.? For example I have gotten these ones where it pretty much only says "IRQ less or equal to" (or something like that) which I must say, doesn't really tell me much! Another one I got more recently was something in the lines of "Some application changed some files it shouldn't have". And there were of course no information on what files, or what application... What can you do?

    Read the article

  • Debian Based Server not booting, soon after GRUB screen it restarts?

    - by Krauser
    I have tried running memtest, it start get about half way then abruptly restarts. I assume this is not a problem with the OS itself but rather a hardware issue, I have checked various logs when after about 10 reboots it starts ok, /var/log/kern.log /var/log/syslog /var/log/dmesg All I get is: EXT4-fs(sdc1): re-mounted. Opts: errors=remount-ro restart So I ran fcsk on the drive, to check if the fs was failing and it was fine. Really don't know how to find why the server is continuosly restarting andif I get lucky it will boot up.

    Read the article

  • How to change the order of OS's on my boot screen on a dual boot setup?

    - by th3dude19
    I'm running a dual boot configuration on my laptop using Ubuntu 10.04b and Windows 7 Home Premium. Windows 7 was the original OS and I added a 'side by side' installation of Ubuntu. Ubuntu, however, shows up first on the list. I'd like to change this order and make Windows 7 first, followed by Ubunutu, then all of the recovery boots after that. Any help on how this is done?

    Read the article

  • Raspberry Pi entrance signed backed by Umbraco - Part 1

    - by Chris Houston
    Being experts on all things Umbraco, we jumped at the chance to help our client, QV Offices, with their pressing signage predicament. They needed to display a sign in the entrance to their building and approached us for our advice. Of course it had to be electronic: displaying multiple names of their serviced office clients, meeting room bookings and on-the-pulse promotions. But with a winding Victorian staircase and minimal storage space how could the monitor be run, updated and managed? That’s where we came in…Raspberry PiUmbraco CMSAutomatic updatesAutomated monitor of the signPower saving when the screen is not in useMounting the screenThe screen that has been used is a standard LED low energy Full HD screen and has been mounted on the wall using it's VESA mounting points, as the wall is a stud wall we were able to add an access panel behind the screen to feed through the mains, HDMI and sensor cables.The Raspberry Pi is then tucked away out of sight in the main electrical cupboard which just happens to be next to the sign, we had an electrician add a power point inside this cupboard to allow us to power the screen and the Raspberry Pi.Designing the interface and editing the contentAlthough a room sign was the initial requirement from QV Offices, their medium term goal has always been to add online meeting booking to their website and hence we suggested adding information about the current and next day's meetings to the sign that would be pulled directly from their online booking system.We produced the design and built the web page to fit exactly on a 1920 x 1080 screen (Full HD in Portrait)As you would expect all the information can be edited via an Umbraco CMS, they are able to add floors, rooms, clients and virtual clients as well as add meeting bookings to their meeting diary.How we configured the Raspberry PiAfter receiving a new Raspberry Pi we downloaded the latest release of Raspbian operating system and followed the official guide which shows how to copy the OS onto an SD card from a Mac, we then followed the majority of steps on this useful guide: 10 Things to Do After Buying a Raspberry Pi.Installing ChromiumWe chose to use the Chromium web browser which for those who do not know is the open sourced version of Google Chrome. You can install this from the terminal with the following command:sudo apt-get install chromium-browserInstalling UnclutterWe found this little application which automatically hides the mouse pointer, it is used in the script below and is installed using the following command:sudo apt-get install unclutterAuto start Chromium and disabling the screen saver, power saving and mouseWhen the Raspberry Pi has been installed it will not have a keyboard or mouse and hence if their was a power cut we needed it to always boot and re-loaded Chromium with the correct URL.Our preferred command line text editor is Nano and I have assumed you know how to use this editor or will be able to work it out pretty quickly.So using the following command:sudo nano /etc/xdg/lxsession/LXDE/autostartWe then changed the autostart file content to:@lxpanel --profile LXDE@pcmanfm --desktop --profile LXDE@xscreensaver -no-splash@xset s off@xset -dpms@xset s noblank@chromium --kiosk --incognito http://www.qvoffices.com/someURL@unclutter -idle 0The first few commands turn off the screen saver and power saving, we then open Cromium in Kiosk Mode (full screen with no menu etc) and pass in the URL to use (I have changed the URL in this example) We found a useful blog post with the Cromium command line switches.Finally we also open an application called Unclutter which auto hides the mouse after 0 seconds, so you will never see a mouse on the sign.We also had to edit the following file:sudo nano /etc/lightdm/lightdm.confAnd added the following line under the [SeatDefault] section:xserver-command=X -s 0 dpmsRefreshing the screenWe decided to try and add a scheduled task that would trigger Chromium to reload the page, at some point in the future we might well change this to using Javascript to update the content, but for now this works fine.First we installed the XDOTool which enables you to script Keyboard commands:sudo apt-get install xdotoolWe used the Refreshing Chromium Browser by Shell Script post as a reference and created the following shell script (which we called refreshing.sh):export DISPLAY=":0"WID=$(xdotool search --onlyvisible --class chromium|head -1)xdotool windowactivate ${WID}xdotool key ctrl+F5This selects the correct display and then sends a CTRL + F5 to refresh Chromium.You will need to give this file execute permissions:chmod a=rwx refreshing.shNow we have the script file setup we just need to schedule it to call this script periodically which is done by using Crontab, to edit this you use the following command:crontab -eAnd we added the following:*/5 * * * * DISPLAY=":.0" /home/pi/scripts/refreshing.sh >/home/pi/cronlog.log 2>&1This calls our script every 5 minutes to refresh the display and it logs any errors to the cronlog.log file.SummaryQV Offices now have a richer and more manageable booking system than they did before we started, and a great new sign to boot.How could we make sure that the sign was running smoothly downstairs in a busy office centre? A second post will follow outlining exactly how Vizioz enabled QV Offices to monitor their sign simply and remotely, from the comfort of their desks.

    Read the article

  • How to do I build and install the gspca webcam driver?

    - by sam
    I tried to install gspca to run Orite webcam. But I failed to install gspca on ubuntu 12.04 64 bits. It lost a lot of headers,here are my instructions but failed. wget http://mxhaard.free.fr/spca50x/Download/gspcav1-20071224.tar.gz tar zxvf gspcav1-20071224.tar.gz cd gspcav1-20071224/ sudo ./gspca_build sudo touch /usr/src/linux-headers-3.2.0-25-generic/include/linux/config.h sudo mkdir /usr/src/linux-headers-3.2.0-25-generic/include/asm sudo touch /usr/src/linux-headers-3.2.0-25-generic/include/asm/semaphore.h sudo touch /usr/src/linux-headers-3.2.0-25-generic/include/linux/videodev.h sudo touch /usr/src/linux-headers-3.2.0-25-generic/include/linux/smp_lock.h How to solve it? Thank you~ I move to /usr/src and make sam@sam:/usr/src/gspcav1-20071224$ sudo make make -C /lib/modules/`uname -r`/build SUBDIRS=/usr/src/gspcav1-20071224 CC=cc modules make[1]: Entering directory `/usr/src/linux-headers-3.2.0-25-generic' CC [M] /usr/src/gspcav1-20071224/gspca_core.o /usr/src/gspcav1-20071224/gspca_core.c:37:26: fatal error: linux/config.h: No such file or directory compilation terminated. make[2]: *** [/usr/src/gspcav1-20071224/gspca_core.o] Error 1 make[1]: *** [_module_/usr/src/gspcav1-20071224] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-25-generic' make: *** [default] Error 2 sam@sam:/usr/src/gspcav1-20071224$

    Read the article

  • SQL – Quick Start with Admin Sections of NuoDB – Manage NuoDB Database

    - by Pinal Dave
    In the yesterday’s blog post we have seen that it is extremely easy to install the NuoDB database on your local machine. Now that the application is properly set up, let us explore NuoDB a bit more and get you familiar with the how it works and what the important areas of the NuoDB are that you should learn. As we have already installed NuoDB, now we will quickly start with two of the important areas in NuoDB: 1) Admin and 2) Explorer. In this blog post I will explore how the Admin Section of the NuoDB Console works.  In the next blog post we will learn how the Explorer Section works. Let us go to the NuoDB Console by typing the following URL in your browser: http://localhost:8080/ It will bring you to the following screen: On this screen you can see a big Start QuickStart button. Click on the button and it will bring you to following screen. On this screen you will find very important information about Domain and Database Settings. It is our habit that we do not read what is written on the screen and keep on clicking on continue without reading. While we are familiar with most wizards, we can often miss the very important message on the screen. Please note the information of Domain Settings and Database Settings from the following screen before clicking on Create Database. Domain Settings User: quickstart Password: quickstart Database Settings User: dba Password: goalie Database: test Schema: HOCKEY Once you click on the Create Database button it will immediately start creating sample database. First, it will start a Storage Manager and right after that it will start a Transaction Engine. Once the engine is up, it will Create a Schema and Sample Data. On the success of the creating the sample database it will show the following screen. Now is the time where we can explore the NuoDB Admin or NuoDB Explorer. If you click on Admin, it will first show following login screen. Enter for the username “domain” and for the password “bird”. Alternatively you can enter “quickstart”  twice for username and password.  It works as too. Once you enter into the Admin Section, on the left side you can see information about NuoDB and Admin Console and on the right side you can see the domain overview area. From this Administrative section you can do any of the following tasks: Create a view of the entire domain Add and remove databases Start and stop NuoDB Transaction Engines and Storage Managers Monitor transaction across all the NuoDB databases On the right side of the Admin Section we can see various information about a particular NuoDB domain. You can quickly view various alerts, find out information about the number of host machines that are provisioned for the domain, and see the number of databases and processes that are running in the domain. If you click on the “1 host” link you will be able to see various processes, CPU usage and other information. In the Processes Section you can see that there are two different types of processes. The first process (where you can see the floppy drive icon) represents a running Storage Manager process and the second process a running Transaction Engine process. You can click on the links for the Storage Manager and Transaction Engine to see further statistical details right down to the last byte of the data. There are various charts available for analysis as well. I think the product is quite mature and the user can add different monitor charts to the Admin section. Additionally, the Admin section is the place where you can create and manage new databases. I hope today’s tutorial gives you enough confidence that you can try out NuoDB and checkout various administrative activities with the database. I am personally impressed with their dashboard related to various counters. For more information about how the NuoDB architecture works and what a Storage Manager or Transaction Engine does, check out this short video with NuoDB CTO Seth Proctor:  In the next blog post, we will try out the Explorer section of NuoDB, which allows us to run SQL queries and write SQL code.  Meanwhile, I strongly suggest you download and install NuoDB and get yourself familiar with the product. Reference: Pinal Dave (http://blog.sqlauthority.com) Filed under: Big Data, PostADay, SQL, SQL Authority, SQL Query, SQL Server, SQL Tips and Tricks, T SQL, Technology Tagged: NuoDB

    Read the article

  • How to use caching to increase render performance?

    - by Christian Ivicevic
    First of all I am going to cover the basic design of my 2d tile-based engine written with SDL in C++, then I will point out what I am up to and where I need some hints. Concept of my engine My engine uses the concept of GameScreens which are stored on a stack in the main game class. The main methods of a screen are usually LoadContent, Render, Update and InitMultithreading. (I use the last one because I am using v8 as a JavaScript bridge to the engine. The main game loop then renders the top screen on the stack (if there is one; otherwise, it exits the game) - actually it calls the render methods, but stores all items to be rendered in a list. After gathering all this information the methods like SDL_BlitSurface are called by my GameUIRenderer which draws the enqueued content and then draws some overlay. The code looks like this: while(Game is running) { Handle input if(Screens on stack == 0) exit Update timer etc. Clear the screen Peek the screen on the stack and collect information on what to render Actually render the enqueue screen stuff and some overlay etc. Flip the screen } The GameUIRenderer uses as hinted a std::vector<std::shared_ptr<ImageToRender>> to hold all necessary information described by this class: class ImageToRender { private: SDL_Surface* image; int x, y, w, h, xOffset, yOffset; }; This bunch of attributes is usually needed if I have a texture atlas with all tiles in one SDL_Surface and then the engine should crop one specific area and draw this to the screen. The GameUIRenderer::Render() method then just iterates over all elements and renders them something like this: std::for_each( this->m_vImageVector.begin(), this->m_vImageVector.end(), [this](std::shared_ptr<ImageToRender> pCurrentImage) { SDL_Rect rc = { pCurrentImage->x, pCurrentImage->y, 0, 0 }; // For the sake of simplicity ignore offsets... SDL_Rect srcRect = { 0, 0, pCurrentImage->w, pCurrentImage->h }; SDL_BlitSurface(pCurrentImage->pImage, &srcRect, g_pFramework->GetScreen(), &rc); } ); this->m_vImageVector.clear(); Current ideas which need to be reviewed The specified approach works really good and IMHO it is really has a good structure, however the performance could be definitely increased. I would like to know what do you suggest, how to implement efficient caching of surfaces etc so that there is no need to redraw the same scene over and over again? The map itself would be almost static, only when the player moves, we would need to move the map. Furthermore animated entities would either require updates of the whole map or updates of only the specific areas the entities are currently moving in. My first approaches were to include a flag IsTainted which should be used by the GameUIRenderer to decide whether to redraw everything or use cached version (or to not render anything so that we do not have to Clear the screen and let the last frame persist). However this seems to be quite messy if I have to manually handle in my Render method of the screen class if something has changed or not.

    Read the article

  • Wacom Bamboo CTH460L issues

    - by Robert Smith
    I recently bought a Wacom Bamboo Pen & Touch CTH460L. I installed doctormo's PPA, however, the pen functionality didn't work and the touch was very glitchy (when I touched it, it immediately double clicked and began to drag elements in the screen). I tried to configure it using the wacom-utility package in the Synaptic Package Manager (version 1.21-1) but that didn't work either. Then I followed this post (#621, written by aaaalex), and after some problems trying to restart Ubuntu (graphics related problems), the pen works fine (it could be better, though) but the touch functionality doesn't work anymore. Currently I have installed xserver-xorg-input-wacom (1:0.10.11-0ubuntu7), wacom-dkms (0.8.10.2-1ubuntu1) and wacom-utility. The Wacom Utility only displays an "options" field under "Wacom BambooPT 2FG 4X5" but no other option to configure it. What is the correct way to get this tablet working on Ubuntu 10.04?. By the way, currently I can't start Ubuntu properly when the tablet is connected (in that case, Ubuntu start in low graphics mode). I need to connect it later. UPDATE: I uninstalled xserver -xorg-input-wacom, and wacom-utility because one of them prevented Ubuntu to start normally. I only re-installed wacom-dkms 0.8.10.2-1ubuntu1. The pen is working but no touch functionality. The side buttons don't work either. Thanks in advance.

    Read the article

  • How do I build and install the gspca webcam driver?

    - by sam
    I tried to install gspca to run Orite webcam on Ubuntu 12.04 64-bit, but I failed. It lost a lot of headers, here are my instructions but failed. wget http://mxhaard.free.fr/spca50x/Download/gspcav1-20071224.tar.gz tar zxvf gspcav1-20071224.tar.gz cd gspcav1-20071224/ sudo ./gspca_build sudo touch /usr/src/linux-headers-3.2.0-25-generic/include/linux/config.h sudo mkdir /usr/src/linux-headers-3.2.0-25-generic/include/asm sudo touch /usr/src/linux-headers-3.2.0-25-generic/include/asm/semaphore.h sudo touch /usr/src/linux-headers-3.2.0-25-generic/include/linux/videodev.h sudo touch /usr/src/linux-headers-3.2.0-25-generic/include/linux/smp_lock.h How to solve it? I move to /usr/src and make: sam@sam:/usr/src/gspcav1-20071224$ sudo make make -C /lib/modules/`uname -r`/build SUBDIRS=/usr/src/gspcav1-20071224 CC=cc modules make[1]: Entering directory `/usr/src/linux-headers-3.2.0-25-generic' CC [M] /usr/src/gspcav1-20071224/gspca_core.o /usr/src/gspcav1-20071224/gspca_core.c:37:26: fatal error: linux/config.h: No such file or directory compilation terminated. make[2]: *** [/usr/src/gspcav1-20071224/gspca_core.o] Error 1 make[1]: *** [_module_/usr/src/gspcav1-20071224] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-25-generic' make: *** [default] Error 2 sam@sam:/usr/src/gspcav1-20071224$

    Read the article

  • Touchpad stops working after desktop shows up

    - by gsedej
    Hi! I have problem with touch-pad. It is not working correctly. It goes like this. When laptop is booting, right after desktop shows, I can move mouse with touch-pad for a second, but when icons shows up, touch-pad does not want to move cursor at all. Even buttons stops work. The same problem with Ubuntu 10.04 and Ubuntu 10.10 I can see "Touchpad" tab in "Mouse" menu, and I can even set "two finger scrolling". I checked in gconf-editor under "desktop-gnome-pheriferals-touchpad" and it's enabled. Furthermore I checked xinput and it is as it should be: SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]. I tried to create new master reattach but still nothing... EDIT: Laptop has fn + F7 to control touch-pad. Ubuntu shows bobble showing touchpad OFF and touchpad ON. But it does nothing. No matter if it say ON, it still does not work.

    Read the article

  • Streamed mp3 only plays for 1 second

    - by angel6
    Hi, I'm using the plaympeg.c (modified) code of smpeg as a media player. I've got ffserver running as a streaming server. I'm a streaming an mp3 file over http. But when I run plaympeg.c, it plays the streamed file only for a second. When I run plaympeg again, it starts off from where it left and plays for 1 second. Does anyone know why this happens an how to fix it? I've tested it out on WMP and it plays the entire file in one go. So, i guess it's not a problem with the streaming or ffserver.conf include include include include /* #ifdef unix */ include include include include include include include define NET_SUPPORT /* General network support */ define HTTP_SUPPORT /* HTTP support */ ifdef NET_SUPPORT include include include include endif include "smpeg.h" ifdef NET_SUPPORT int tcp_open(char * address, int port) { struct sockaddr_in stAddr; struct hostent * host; int sock; struct linger l; memset(&stAddr,0,sizeof(stAddr)); stAddr.sin_family = AF_INET ; stAddr.sin_port = htons(port); if((host = gethostbyname(address)) == NULL) return(0); stAddr.sin_addr = *((struct in_addr *) host-h_addr_list[0]) ; if((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) return(0); l.l_onoff = 1; l.l_linger = 5; if(setsockopt(sock, SOL_SOCKET, SO_LINGER, (char*) &l, sizeof(l)) < 0) return(0); if(connect(sock, (struct sockaddr *) &stAddr, sizeof(stAddr)) < 0) return(0); return(sock); } ifdef HTTP_SUPPORT int http_open(char * arg) { char * host; int port; char * request; int tcp_sock; char http_request[1024]; char c; printf("\nin http_open passed parameter = %s\n",arg); /* Check for URL syntax */ if(strncmp(arg, "http://", strlen("http://"))) return(0); /* Parse URL */ port = 80; host = arg + strlen("http://"); if((request = strchr(host, '/')) == NULL) return(0); request++ = 0; if(strchr(host, ':') != NULL) / port is specified */ { port = atoi(strchr(host, ':') + 1); *strchr(host, ':') = 0; } /* Open a TCP socket */ if(!(tcp_sock = tcp_open(host, port))) { perror("http_open"); return(0); } /* Send HTTP GET request */ sprintf(http_request, "GET /%s HTTP/1.0\r\n" "User-Agent: Mozilla/2.0 (Win95; I)\r\n" "Pragma: no-cache\r\n" "Host: %s\r\n" "Accept: /\r\n" "\r\n", request, host); send(tcp_sock, http_request, strlen(http_request), 0); /* Parse server reply */ do read(tcp_sock, &c, sizeof(char)); while(c != ' '); read(tcp_sock, http_request, 4*sizeof(char)); http_request[4] = 0; if(strcmp(http_request, "200 ")) { fprintf(stderr, "http_open: "); do { read(tcp_sock, &c, sizeof(char)); fprintf(stderr, "%c", c); } while(c != '\r'); fprintf(stderr, "\n"); return(0); } return(tcp_sock); } endif endif void update(SDL_Surface *screen, Sint32 x, Sint32 y, Uint32 w, Uint32 h) { if ( screen-flags & SDL_DOUBLEBUF ) { SDL_Flip(screen); } } /* Flag telling the UI that the movie or song should be skipped */ int done; void next_movie(int sig) { done = 1; } int main(int argc, char *argv[]) { int use_audio, use_video; int fullscreen; int scalesize; int scale_width, scale_height; int loop_play; int i, pause; int volume; Uint32 seek; float skip; int bilinear_filtering; SDL_Surface *screen; SMPEG *mpeg; SMPEG_Info info; char *basefile; SDL_version sdlver; SMPEG_version smpegver; int fd; char buf[32]; int status; printf("\nchecking command line options "); /* Get the command line options */ use_audio = 1; use_video = 1; fullscreen = 0; scalesize = 1; scale_width = 0; scale_height = 0; loop_play = 0; volume = 100; seek = 0; skip = 0; bilinear_filtering = 0; fd = 0; for ( i=1; argv[i] && (argv[i][0] == '-') && (argv[i][1] != 0); ++i ) { if ( strcmp(argv[i], "--fullscreen") == 0 ) { fullscreen = 1; } else if ((strcmp(argv[i], "--seek") == 0)||(strcmp(argv[i], "-S") == 0)) { ++i; if ( argv[i] ) { seek = atol(argv[i]); } } else if ((strcmp(argv[i], "--volume") == 0)||(strcmp(argv[i], "-v") == 0)) { ++i; if (i >= argc) { fprintf(stderr, "Please specify volume when using --volume or -v\n"); return(1); } if ( argv[i] ) { volume = atoi(argv[i]); } if ( ( volume < 0 ) || ( volume 100 ) ) { fprintf(stderr, "Volume must be between 0 and 100\n"); volume = 100; } } else { fprintf(stderr, "Warning: Unknown option: %s\n", argv[i]); } } printf("\nuse video = %d, use audio = %d\n",use_video, use_audio); printf("\ngoing to check input parameters\n"); if defined(linux) || defined(FreeBSD) /* Plaympeg doesn't need a mouse */ putenv("SDL_NOMOUSE=1"); endif /* Play the mpeg files! */ status = 0; for ( ; argv[i]; ++i ) { /* Initialize SDL */ if ( use_video ) { if ((SDL_Init(SDL_INIT_VIDEO) < 0) || !SDL_VideoDriverName(buf, 1)) { fprintf(stderr, "Warning: Couldn't init SDL video: %s\n", SDL_GetError()); fprintf(stderr, "Will ignore video stream\n"); use_video = 0; } printf("\ninitialised video\n"); } if ( use_audio ) { if ((SDL_Init(SDL_INIT_AUDIO) < 0) || !SDL_AudioDriverName(buf, 1)) { fprintf(stderr, "Warning: Couldn't init SDL audio: %s\n", SDL_GetError()); fprintf(stderr, "Will ignore audio stream\n"); use_audio = 0; } } /* Allow Ctrl-C when there's no video output */ signal(SIGINT, next_movie); printf("\nchecking defined supports\n"); /* Create the MPEG stream */ ifdef NET_SUPPORT printf("\ndefined NET_SUPPORT\n"); ifdef HTTP_SUPPORT printf("\ndefined HTTP_SUPPORT\n"); /* Check if source is an http URL */ printf("\nabout to call http_open\n"); printf("\nhere we go\n"); if((fd = http_open(argv[i])) != 0) mpeg = SMPEG_new_descr(fd, &info, use_audio); else endif endif { if(strcmp(argv[i], "-") == 0) /* Use stdin for input */ mpeg = SMPEG_new_descr(0, &info, use_audio); else mpeg = SMPEG_new(argv[i], &info, use_audio); } if ( SMPEG_error(mpeg) ) { fprintf(stderr, "%s: %s\n", argv[i], SMPEG_error(mpeg)); SMPEG_delete(mpeg); status = -1; continue; } SMPEG_enableaudio(mpeg, use_audio); SMPEG_enablevideo(mpeg, use_video); SMPEG_setvolume(mpeg, volume); /* Print information about the video */ basefile = strrchr(argv[i], '/'); if ( basefile ) { ++basefile; } else { basefile = argv[i]; } if ( info.has_audio && info.has_video ) { printf("%s: MPEG system stream (audio/video)\n", basefile); } else if ( info.has_audio ) { printf("%s: MPEG audio stream\n", basefile); } else if ( info.has_video ) { printf("%s: MPEG video stream\n", basefile); } if ( info.has_video ) { printf("\tVideo %dx%d resolution\n", info.width, info.height); } if ( info.has_audio ) { printf("\tAudio %s\n", info.audio_string); } if ( info.total_size ) { printf("\tSize: %d\n", info.total_size); } if ( info.total_time ) { printf("\tTotal time: %f\n", info.total_time); } /* Set up video display if needed */ if ( info.has_video && use_video ) { const SDL_VideoInfo *video_info; Uint32 video_flags; int video_bpp; int width, height; /* Get the "native" video mode */ video_info = SDL_GetVideoInfo(); switch (video_info->vfmt->BitsPerPixel) { case 16: case 24: case 32: video_bpp = video_info->vfmt->BitsPerPixel; break; default: video_bpp = 16; break; } if ( scale_width ) { width = scale_width; } else { width = info.width; } width *= scalesize; if ( scale_height ) { height = scale_height; } else { height = info.height; } height *= scalesize; video_flags = SDL_SWSURFACE; if ( fullscreen ) { video_flags = SDL_FULLSCREEN|SDL_DOUBLEBUF|SDL_HWSURFACE; } video_flags |= SDL_ASYNCBLIT; video_flags |= SDL_RESIZABLE; screen = SDL_SetVideoMode(width, height, video_bpp, video_flags); if ( screen == NULL ) { fprintf(stderr, "Unable to set %dx%d video mode: %s\n", width, height, SDL_GetError()); continue; } SDL_WM_SetCaption(argv[i], "plaympeg"); if ( screen->flags & SDL_FULLSCREEN ) { SDL_ShowCursor(0); } SMPEG_setdisplay(mpeg, screen, NULL, update); SMPEG_scaleXY(mpeg, screen->w, screen->h); } else { SDL_QuitSubSystem(SDL_INIT_VIDEO); } /* Set any special playback parameters */ if ( loop_play ) { SMPEG_loop(mpeg, 1); } /* Seek starting position */ if(seek) SMPEG_seek(mpeg, seek); /* Skip seconds to starting position */ if(skip) SMPEG_skip(mpeg, skip); /* Play it, and wait for playback to complete */ SMPEG_play(mpeg); done = 0; pause = 0; while ( ! done && ( pause || (SMPEG_status(mpeg) == SMPEG_PLAYING) ) ) { SDL_Event event; while ( use_video && SDL_PollEvent(&event) ) { switch (event.type) { case SDL_VIDEORESIZE: { SDL_Surface *old_screen = screen; SMPEG_pause(mpeg); screen = SDL_SetVideoMode(event.resize.w, event.resize.h, screen->format->BitsPerPixel, screen->flags); if ( old_screen != screen ) { SMPEG_setdisplay(mpeg, screen, NULL, update); } SMPEG_scaleXY(mpeg, screen-w, screen-h); SMPEG_pause(mpeg); } break; case SDL_KEYDOWN: if ( (event.key.keysym.sym == SDLK_ESCAPE) || (event.key.keysym.sym == SDLK_q) ) { // Quit done = 1; } else if ( event.key.keysym.sym == SDLK_RETURN ) { // toggle fullscreen if ( event.key.keysym.mod & KMOD_ALT ) { SDL_WM_ToggleFullScreen(screen); fullscreen = (screen-flags & SDL_FULLSCREEN); SDL_ShowCursor(!fullscreen); } } else if ( event.key.keysym.sym == SDLK_UP ) { // Volume up if ( volume < 100 ) { if ( event.key.keysym.mod & KMOD_SHIFT ) { // 10+ volume += 10; } else if ( event.key.keysym.mod & KMOD_CTRL ) { // 100+ volume = 100; } else { // 1+ volume++; } if ( volume 100 ) volume = 100; SMPEG_setvolume(mpeg, volume); } } else if ( event.key.keysym.sym == SDLK_DOWN ) { // Volume down if ( volume 0 ) { if ( event.key.keysym.mod & KMOD_SHIFT ) { volume -= 10; } else if ( event.key.keysym.mod & KMOD_CTRL ) { volume = 0; } else { volume--; } if ( volume < 0 ) volume = 0; SMPEG_setvolume(mpeg, volume); } } else if ( event.key.keysym.sym == SDLK_PAGEUP ) { // Full volume volume = 100; SMPEG_setvolume(mpeg, volume); } else if ( event.key.keysym.sym == SDLK_PAGEDOWN ) { // Volume off volume = 0; SMPEG_setvolume(mpeg, volume); } else if ( event.key.keysym.sym == SDLK_SPACE ) { // Toggle play / pause if ( SMPEG_status(mpeg) == SMPEG_PLAYING ) { SMPEG_pause(mpeg); pause = 1; } else { SMPEG_play(mpeg); pause = 0; } } else if ( event.key.keysym.sym == SDLK_RIGHT ) { // Forward if ( event.key.keysym.mod & KMOD_SHIFT ) { SMPEG_skip(mpeg, 100); } else if ( event.key.keysym.mod & KMOD_CTRL ) { SMPEG_skip(mpeg, 50); } else { SMPEG_skip(mpeg, 5); } } else if ( event.key.keysym.sym == SDLK_LEFT ) { // Reverse if ( event.key.keysym.mod & KMOD_SHIFT ) { } else if ( event.key.keysym.mod & KMOD_CTRL ) { } else { } } else if ( event.key.keysym.sym == SDLK_KP_MINUS ) { // Scale minus if ( scalesize > 1 ) { scalesize--; } } else if ( event.key.keysym.sym == SDLK_KP_PLUS ) { // Scale plus scalesize++; } else if ( event.key.keysym.sym == SDLK_f ) { // Toggle filtering on/off if ( bilinear_filtering ) { SMPEG_Filter *filter = SMPEGfilter_null(); filter = SMPEG_filter( mpeg, filter ); filter-destroy(filter); bilinear_filtering = 0; } else { SMPEG_Filter *filter = SMPEGfilter_bilinear(); filter = SMPEG_filter( mpeg, filter ); filter-destroy(filter); bilinear_filtering = 1; } } break; case SDL_QUIT: done = 1; break; default: break; } } SDL_Delay(1000/2); } SMPEG_delete(mpeg); } SDL_Quit(); if defined(HTTP_SUPPORT) if(fd) close(fd); endif return(status); }

    Read the article

< Previous Page | 205 206 207 208 209 210 211 212 213 214 215 216  | Next Page >