Troubleshooting
How to Choose the Right IPTV Buffer Size in TiviMate, VLC and Kodi
By the IPTV Gold editorial team · How we write and test
What IPTV buffer size should I use? Last updated:
Start with a medium buffer on Wi-Fi and a small one on Ethernet, then go up one step only if short freezes continue. In VLC that means about 3,000 ms of network caching. Larger buffers delay channel changes and live action, and they can't fix a connection that's too slow on average.
When a channel freezes for a second, shows a spinning circle and then picks up again, the first setting most people go looking for is the buffer. It’s a fair instinct. The buffer is the small reserve of video your player keeps in memory so a short hiccup on your network never reaches the screen, and a bigger reserve can ride out bigger hiccups.
But a buffer is not a speed boost. Pushing it to the maximum on every device can make things worse: channels take longer to start, you watch further behind the live broadcast, and small streaming sticks can run short of memory. The right IPTV buffer size depends on three things: how your connection misbehaves, which device you watch on, and how much delay you can live with during a game.
This article explains what the buffer actually does with a live stream, gives you a simple formula for sizing it, and then walks through the exact setting in TiviMate, IPTV Smarters, VLC, Kodi, ExoPlayer-based Android apps, smart-TV players and MAG boxes. It closes with starting values by device and connection type that you can copy.
Nothing here is specific to one provider. The same logic applies whether you watch our IPTV Canada service or anything else delivered as a live stream over the internet.
What a playback buffer actually does
Every IPTV stream is a continuous flow of small pieces of compressed video. Your player downloads those pieces, stores a few seconds of them in memory, and decodes from the front of that queue while new data arrives at the back. That queue is the buffer.
As long as data arrives at least as fast as the video plays, the queue stays topped up and you see a steady picture. When delivery slows, the player keeps decoding from its reserve. If the reserve hits zero before delivery recovers, playback stops and the player shows a spinner while it refills. That stall is what most people mean by buffering.
Live streams can’t buffer far ahead
With a movie from the on-demand library, the whole file already exists on the server, so the player can download minutes ahead if it wants to. A live channel is different: the next ten seconds of a hockey game haven’t happened yet. The player can only hold what has already been broadcast.
So a player builds a live buffer by starting playback slightly behind the live edge. Ask for a 10-second buffer and the player waits until it has roughly 10 seconds queued before it shows the picture. From then on you watch about 10 seconds behind real time. That’s why a bigger buffer always costs something on live TV.
HLS and MPEG-TS refill differently
How the stream is delivered affects refilling too. With HLS (the .m3u8 format), the stream is cut into short segments that already sit on the server. After a dip, the player can often fetch the waiting segments faster than real time and top the buffer back up.
With a continuous MPEG-TS stream (.ts), data typically arrives at close to the broadcast rate. A drained buffer then refills slowly, or only after the player reconnects. If your app lets you choose between the two formats, that choice can matter as much as the buffer size itself.
Dips versus deficits
This is the most useful idea in this article: a buffer covers dips, not deficits.
A dip is a short drop in delivery. A microwave interferes with 2.4 GHz Wi-Fi for a few seconds, a phone starts a large app update, or a router upstream is briefly congested. A deficit is when your connection delivers less than the stream needs on average, minute after minute.
A 4K channel that needs about 25 Mbps on a Wi-Fi link that sustains 15 Mbps is a deficit. No buffer setting fixes that. A 30-second buffer simply drains in a slower, more predictable way before the spinner appears. If your stalls come in waves every evening, read about why IPTV buffers more at night before you touch the buffer at all.
The trade-off: zap time, delay and memory
Raising the buffer buys resilience. It costs you three things, and it helps to know which one you’re spending.
- Zap time. Zapping is changing channels. Every switch empties the old buffer, and the player has to fill a new one before the picture appears. A small buffer starts channels in a second or two; a very large one makes every channel change feel sluggish.
- Delay versus live. The buffer length is added to whatever delay the broadcast chain already has. For news it doesn’t matter. For a playoff game while friends text you about a goal, it does.
- Memory. The buffer lives in RAM. On a device with plenty of memory it’s trivial. On a 1 GB streaming stick already running Fire OS, a guide with thousands of channels and a couple of background apps, it can tip the player into being closed by the system.
Here is how the usual steps compare. The seconds are illustrative ranges, because many apps use named steps without publishing the exact values behind them.
| Buffer setting | Channel start | Delay behind live | What it rides out | Suits |
|---|---|---|---|---|
| Off or minimal (under 1 s) | Fastest | Lowest | Almost nothing | Ethernet, fast channel surfing |
| Small (about 1–3 s) | Fast | Low | Brief Wi-Fi blips | Ethernet or strong 5 GHz Wi-Fi |
| Medium (about 3–6 s) | Moderate | Moderate | Most short dips | Typical home Wi-Fi |
| Large (about 6–12 s) | Slower | Noticeable | Longer congestion spikes | Busy evening networks, mesh Wi-Fi |
| Very large (12 s and up) | Slowest | High | Long dips on unstable links | Fixed wireless, LTE or 5G home internet, satellite |
Work out how much buffer you need
You can estimate the buffer a dip requires with arithmetic instead of guesswork. You need two numbers: the stream’s bitrate and a rough idea of how deep and how long your dips are.
The formula is: buffer seconds ≈ (stream bitrate − bitrate during the dip) × dip length ÷ stream bitrate.
Worked example 1: a Wi-Fi dip on an HD channel
Say an HD sports channel runs at about 8 Mbps. Your Wi-Fi normally delivers 40 Mbps, but every so often a neighbour’s network or the microwave knocks it down to 3 Mbps for 6 seconds.
- Shortfall during the dip: 8 − 3 = 5 Mbps.
- Missing data: 5 Mbps × 6 s = 30 megabits.
- In playback time: 30 ÷ 8 ≈ 3.75 seconds.
A buffer of about 4 seconds covers it, so a Medium setting is plenty. Going to Very large would only add delay and slow down every channel change.
Worked example 2: an evening slowdown on 4K
A 4K channel needs about 25 Mbps. Between 8 and 10 p.m. your connection sags to 18 Mbps for stretches of about 2 minutes.
- Shortfall: 25 − 18 = 7 Mbps.
- Missing data over 120 seconds: 7 × 120 = 840 megabits.
- In playback time: 840 ÷ 25 ≈ 34 seconds.
A 34-second buffer on live TV means slow channel changes, a big delay and a real memory cost on small devices. Worse, the next sag would need the buffer refilled first. This is a deficit in disguise. The practical fix is to watch the HD version of the channel during peak hours, since 8 Mbps fits comfortably inside 18 Mbps, and leave the buffer at Medium.
Memory needed for a given buffer
Memory scales the same way: bitrate × seconds ÷ 8 gives you megabytes.
- 8 Mbps × 10 s = 80 megabits ≈ 10 MB.
- 25 Mbps × 30 s = 750 megabits ≈ 94 MB.
Those numbers look small next to 1 or 2 GB of RAM. However, the player also holds decoded frames, the channel list and the guide data, and Fire OS keeps its own services running. On the smallest sticks the memory left over after all that can be a few hundred megabytes, which is why the largest settings are the ones most likely to trigger crashes and silent restarts.
Diagnose before you change the buffer
Spend five minutes confirming the buffer is the right lever. Run through this decision guide first:
- Every channel stalls, all day, including on-demand movies. This points to the network or the device. Test the speed on the TV device itself and try a wired connection.
- Only in the evening, on every channel. This is congestion on your ISP’s network or your home network. A modest buffer increase helps with spikes; a quality downgrade helps with sustained slowdowns.
- One channel stalls while others are fine. The issue is that channel’s source. A bigger buffer won’t fix it; try the backup stream if one is listed, or report the channel.
- Stalls start when someone else streams or games. That’s household bandwidth. Router QoS or Ethernet for the TV beats a bigger buffer.
- The picture stutters but never shows a spinner. That’s usually decoding or frame rate, not buffering. Try switching between hardware and software decoding.
- Short freezes of 1–3 seconds, a few times an hour, on Wi-Fi. This is the textbook case for a bigger buffer. Go up one step and re-test.
Then change one setting at a time. Watch for at least 30 minutes on a channel that stalled before, and write down what happened. If you change the buffer, the decoder and the stream format all at once, you won’t know which one helped.
Pick your test channel with care. Live sports and news among the Canadian IPTV channels often run at higher bitrates than a cartoon or a talk show, so a setting that survives a game will survive almost anything else.
TiviMate buffer size
TiviMate exposes the buffer as a named setting with a handful of steps. It’s the most common player among Fire TV and Android TV users, so it’s the natural place to start. For the rest of the app’s menus, our TiviMate settings walkthrough covers each screen in turn.
- Open TiviMate and bring up the main menu (press Back or Left from the TV screen, depending on your version), then select Settings.
- Go to Playback.
- Select Buffer size.
- Choose a step. The list usually runs Small, Medium, Large and Very large, and some versions add an option that turns buffering off.
- Press Back to save, return to a channel that stalled before, and watch it for 30 minutes.
A few TiviMate-specific notes:
- Start at Medium on Wi-Fi and Small on Ethernet, then move one step at a time.
- In most versions the same Playback screen also holds the decoder options. If you see stutter without a spinner, try the decoder rather than the buffer.
- If channels take noticeably longer to start after a change, you’ve overshot. Drop back a step.
- TiviMate doesn’t display the seconds behind each label, and those values can change between versions. Don’t compare its “Large” with another app’s number of seconds.
IPTV Smarters: what to change when there’s no buffer setting
IPTV Smarters Pro has shipped in many versions for Android, Fire TV and iOS, plus a long list of rebranded builds, and the settings screen differs between them. Some builds include a buffer option; many don’t. Work through these steps in order.
- From the home dashboard, open Settings (the gear icon, usually at the top right).
- Look in Player Settings and General Settings. If either contains a buffer or “buffer size” option, set it to a middle value as your starting point.
- If there’s no buffer option, open Stream Format and try the other format: HLS (.m3u8) or MPEGTS (.ts). Watch the same channel for 30 minutes on each.
- Still stalling? Open Player Selection and set live TV to an external player such as VLC, which has a precise caching control (next section).
Why does the format switch work? HLS lets a player catch up after a dip by fetching ready-made segments, while MPEG-TS often starts faster and runs closer to live. On a stable wired connection, MPEG-TS tends to feel snappier. On patchy Wi-Fi, HLS tends to recover more gracefully. Neither is better everywhere, which is why a test on your own network beats any general rule.
VLC network caching on Windows, Mac, Android and iPhone
VLC is the one popular player that tells you exactly how big its buffer is, in milliseconds. Its default is usually 1,000 ms, or one second, which is tight for live IPTV over Wi-Fi.
Windows and Mac
- Open VLC and go to Tools → Preferences on Windows, or VLC media player → Settings on Mac (called Preferences on older versions).
- Switch the view to all settings: on Windows, set Show settings at the bottom left to All; on Mac, click Show All.
- In the left-hand tree, select Input / Codecs.
- Scroll to the advanced section and find Network caching (ms).
- Enter a value such as 3000 for three seconds, click Save, then close and reopen VLC.
You can also set caching for a single stream, which is handy for testing. Go to Media → Open Network Stream, tick Show more options, and change Caching before you press Play. If you launch VLC from a shortcut or a script, the command-line equivalent is --network-caching=3000.
Android, Android TV and Fire TV
VLC for Android keeps the same setting under a slightly different name. Open the app’s Settings (under the More tab on phones; on a TV it sits in the bottom row or side menu), go to Advanced, and set Network caching value in milliseconds. Start at 3000 on Wi-Fi.
iPhone, iPad and Apple TV
VLC on Apple devices uses levels instead of milliseconds. In the app’s Settings tab, find Network Caching Level, which runs from lowest latency to highest latency. Choose the middle level on good Wi-Fi and one step higher if short freezes continue.
Kodi cache: advancedsettings.xml and the newer settings menu
Kodi calls its buffer the cache, and three values control it:
- memorysize is the cache size in bytes. Kodi needs free RAM well beyond this number (its documentation has long advised about three times the value), so leave a wide margin. Setting it to 0 makes Kodi cache to storage instead of RAM, which is slow and wears the flash memory on streaming sticks, so avoid that.
- buffermode decides which sources get cached. 0 caches internet sources (the default), 1 caches everything including local files, 2 caches only true internet streams, 3 turns caching off, and 4 caches all network sources, including SMB and NFS shares.
- readfactor sets how fast Kodi fills the cache, as a multiple of the stream’s bitrate. The default is 4. Higher values refill faster after a dip, at the cost of short bursts of extra bandwidth.
Here is an example for a 2 GB device on Wi-Fi: a 100 MB cache (104,857,600 bytes), internet streams only, and a faster refill.
<advancedsettings version="1.0">
<cache>
<buffermode>2</buffermode>
<memorysize>104857600</memorysize>
<readfactor>8</readfactor>
</cache>
</advancedsettings>
For a 1 GB stick, use 52428800 (50 MB) instead. For a 3 GB box or a computer, 209715200 (200 MB) is a reasonable ceiling for live TV.
Where the file goes
Save the file as advancedsettings.xml (all lowercase) in Kodi’s userdata folder, then restart Kodi.
- Windows:
%APPDATA%\Kodi\userdata\ - Mac:
~/Library/Application Support/Kodi/userdata/ - Android and Fire TV:
Android/data/org.xbmc.kodi/files/.kodi/userdata/ - Linux:
~/.kodi/userdata/
On Android 11 and newer, many file managers can’t write inside the Android/data folder. The workaround is Kodi’s own file manager: put the file on a USB drive or network share, open Settings → File manager, and copy it into Profile directory, which is the userdata folder.
The settings menu in recent versions
Recent Kodi releases also expose the cache values in the interface, under Settings → Services → Caching. You may need to switch the settings level to Expert first, using the gear at the bottom left of the settings screen. If your version shows that menu, set the values there; if it doesn’t, use the file. Don’t maintain both, or you’ll never be sure which value is active.
One more caveat: some IPTV add-ons hand playback to an inputstream add-on, especially for catch-up. In that case the add-on’s own settings may matter more than Kodi’s cache.
ExoPlayer-based Android apps and MX Player
Many Android IPTV apps play video through Google’s ExoPlayer library, now part of AndroidX Media3. ExoPlayer manages its buffer with separate thresholds: how much it needs before it starts playing, how much before it resumes after a stall, and the maximum it keeps. The app developer picks those numbers, and most apps never show them to you.
As a result, buffer options in these apps appear under different names: buffer size, pre-buffer, minimum buffer or “load before playing”. If you find one of those, the TiviMate logic applies: start in the middle and move one step at a time. If you find nothing, your levers are the stream format, the decoder and the network itself.
MX Player, often used as an external player, focuses its settings on decoding (HW, HW+ and SW) rather than network buffering, and most versions don’t offer a simple seconds-based buffer control. If you use it as the external player for an IPTV app and stalls are the problem, switching the external player to VLC gives you a caching value to work with. If the trouble is stutter rather than stalls, our explainer on hardware vs software decoding is the better next stop.
Smart-TV players and MAG boxes
Player apps on Samsung (Tizen) and LG (webOS) TVs, such as IBO Player, SET IPTV, Smart IPTV and similar apps, generally hand the stream to the TV’s built-in media engine. They rarely expose a buffer setting. When they do, it’s often a simple on/off switch or a choice of player engine.
What you can still do on a smart TV:
- Look in the app’s settings for a player or engine choice, or a stream format option, and test each one for 30 minutes.
- Use Ethernet. Built-in TV Wi-Fi is often weaker than a router-side device, and even a 100 Mbps TV port is plenty for a 4K stream.
- Keep the TV’s firmware current, since the media engine is updated with it.
- If the TV stalls where a separate streaming stick on the same connection doesn’t, the TV’s player is the bottleneck. A stick or box with a configurable player is the practical fix.
MAG boxes depend on the portal they load. Some portals include a buffer option in their settings, often under a Playback or Video heading; others leave it fixed. If yours has one, the same rule applies: one step at a time, tested on a channel that stalled before.
RAM limits on Fire TV Stick and other small devices
Memory is the quiet limit on buffer size. The figures below are the commonly listed RAM amounts for popular models; check your exact model under Settings → My Fire TV → About on Fire TV, or the box label on other devices.
| Device | RAM (approx.) | Highest sensible TiviMate step | Kodi memorysize |
|---|---|---|---|
| Fire TV Stick Lite, Fire TV Stick (3rd gen) | 1 GB | Medium | 50 MB |
| Fire TV Stick 4K (2018) | 1.5 GB | Medium, Large with care | 50–75 MB |
| Fire TV Stick 4K and 4K Max (2021 and 2023 models) | 2 GB | Large | 100 MB |
| Fire TV Cube (2nd and 3rd gen) | 2 GB | Large | 100 MB |
| Chromecast with Google TV (4K) | 2 GB | Large | 100 MB |
| NVIDIA Shield TV (2019) / Shield TV Pro | 2 GB / 3 GB | Large / Very large | 100 MB / 200 MB |
| Windows or Mac computer | 8 GB or more | Any | 200 MB |
Signs that the buffer is too big for the device:
- The player drops back to the home screen without an error message.
- The guide reloads from scratch every time you return to the app.
- Menus become sluggish after a few minutes of playback.
- Problems get worse the longer the device has been on, then improve after a restart.
If you see these on a 1 GB stick, step the buffer down and free up memory. Our routine for a slow Fire TV Stick covers clearing caches, stopping background apps and keeping enough storage free.
Recommended starting values by device and connection
Use this table as a starting point, not a final answer. Begin at the suggested value, watch a channel that stalled before for 30 minutes, then move one step up or down.
| Connection | TiviMate | VLC network caching | IPTV Smarters | Notes |
|---|---|---|---|---|
| Ethernet on fibre or cable | Small | 1,500 ms | MPEGTS format | Fastest zapping, lowest delay |
| Strong 5 GHz Wi-Fi in the same room | Small or Medium | 2,000–3,000 ms | Either format, test both | Keep the stick away from the TV’s back panel |
| Wi-Fi through floors or walls, or mesh | Medium | 3,000–5,000 ms | HLS format | Concrete condos and basements often land here |
| Busy evenings in a shared household | Medium or Large | 5,000 ms | HLS format | Drop 4K to HD at peak instead of going higher |
| Fixed wireless, LTE or 5G home internet | Large | 5,000–8,000 ms | HLS format | Signal strength varies with weather and load |
| Satellite internet | Large or Very large | 8,000–10,000 ms | HLS format | Covers brief dropouts from obstructions |
A few Canadian patterns are worth knowing. Condo towers in Toronto, Montréal and Vancouver often have dozens of Wi-Fi networks competing on the same channels, which produces exactly the short dips a Medium buffer handles well. Rural homes on fixed wireless or satellite, from the Prairies to cottage country in Ontario and Québec, see longer dropouts, so a larger buffer earns its delay there.
If your router is far from the TV, moving the stream to a cable often does more than any buffer value. Our comparison of Wi-Fi vs Ethernet for IPTV covers adapters, mesh, powerline and MoCA for homes where running a cable is awkward.
When a bigger buffer won’t help
A larger buffer is the wrong tool in several common situations:
- Your connection can’t sustain the bitrate. Lower the quality or fix the network.
- One channel misbehaves. The source is the problem; the backup stream or a report to support is the fix.
- The device is overheating. A stick tucked behind a wall-mounted TV can throttle itself. Use an HDMI extender so it sits in open air.
- Playback errors appear instead of spinners. Login, playlist and server errors aren’t buffering, and no buffer setting changes them.
- Stutter without a spinner. That’s decoding or frame-rate matching.
The provider side matters too. Stable sources, backup streams on big events and a player-friendly playlist are part of what separates the best IPTV Canada options from the rest, and no buffer setting can make up for a source that keeps dropping.
If you’re still choosing an IPTV subscription, a trial is the right place to test buffer settings. Run the 30-minute test in the evening, when your network is busiest, using a free trial of 24 hours, and you’ll know before you pay whether your connection and device can keep up. Step-by-step installation for each device lives in our IPTV setup guides, and Live Chat can help you read the results 24/7 in English or French.
Key takeaways
- A buffer covers short dips, not sustained shortfalls; if your connection can’t keep up on average, lower the quality instead.
- Every step up costs zap time, delay behind live and memory, so move one step at a time and test for 30 minutes.
- Size the buffer with arithmetic: shortfall × dip length ÷ stream bitrate gives the seconds you need.
- TiviMate: Settings → Playback → Buffer size. VLC: Network caching (ms). Kodi: memorysize, buffermode and readfactor.
- On 1 GB sticks, stay at Medium or below and keep memory free.
- If an app has no buffer control, test the other stream format or hand playback to VLC.
More in troubleshooting
- Fixing an IPTV Black Screen, Missing Sound or Missing Picture in Order
- IPTV EPG Not Updating: How to Fix the TV Guide on Any Device
- IPTV Error Codes: What Each Message Means and How to Fix It
- Flush DNS Cache and Restart Router Hardware Without Losing Settings
- How to Fix IPTV Audio Out of Sync, From Soundbar to Player App
- Fixing the IPTV Invalid Username or Password Error, Step by Step
Quick answers
Does a bigger IPTV buffer use more internet data?
Not in any meaningful way. Data use depends on the stream's bitrate and how long you watch: 1 Mbps for an hour is about 0.45 GB, so an 8 Mbps HD channel uses roughly 3.6 GB per hour whatever the buffer setting. A bigger buffer only downloads a few seconds earlier, and those seconds are discarded when you change channels, which costs very little.
Can each device on my account use a different buffer setting?
Yes. The buffer is a setting inside the player app on each device, not part of your account, so a wired living-room box can run a small buffer while a bedroom stick on Wi-Fi uses a larger one. Set each device for its own connection, then test it on a channel that stalled before rather than copying one value everywhere.
Will a larger buffer stop buffering during hockey games?
It helps with brief spikes, such as the surge of viewers at puck drop, but it can't cover a connection that sags for minutes at a time. For big games, keep the buffer at Medium or Large, put the main TV on Ethernet and drop 4K to HD if the evening slowdown persists. Our game-night hockey streaming checklist covers the rest.
Keep reading
Watch tonight. Decide tomorrow.
Take all 56,000+ channels for a 24-hour test drive on your own TV and internet. No card, no payment. Plans start at $17 a month in CAD, with a 7-day money-back guarantee.
7-day refund 24/7 Live Chat help Priced in CAD